Extensions for networking
From cppreference.com
< cpp | experimental
The C++ Extensions for Networking, ISO/IEC TS 19216:2018, defines new components for the C++ standard library listed on this page.
The Networking TS is based on the C++14 standard as modified by version 1 of the Library Fundamentals TS. Its design is based on the Asio library.
Library named requirements
The following named requirements are used in the normative text of the Networking TS to define the expectations of the library. The burden is on the programmer to ensure that library templates are instantiated with template arguments that satisfy these requirements. Failure to do so may result in very complex compiler diagnostics or in undefined behavior at runtime.
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
represents a set of memory regions that may be used as input to an operation (named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) | |
(named requirement) |
Convenience headers
<experimental/net>
|
convenience header that includes every other Networking TS header |
<experimental/netfwd>
|
contains forward declarations of major Networking TS components |
Asynchronous model
Defined in header
<experimental/executor> | |
Defined in namespace
std::experimental::net | |
Asynchronous result | |
(class template) | |
(class template) | |
(class template) | |
(function template) | |
Execution context and services | |
(class) | |
(function template) | |
(function template) | |
(function template) | |
(class) | |
Executors | |
(class template) | |
(class) | |
(class template) | |
(class template) | |
(function template) | |
(class template) | |
(function template) | |
(class template) | |
(class) | |
(class) | |
(class) | |
(class) | |
Dispatch/post/defer | |
(function template) | |
(function template) | |
(function template) | |
Strand | |
(class template) | |
std::future interop | |
(class template) |
Basic I/O services
Defined in header
<experimental/io_context> | |
Defined in namespace
std::experimental::net | |
(class) |
Buffers and buffer-oriented streams
Defined in header
<experimental/buffer> | |
Defined in namespace
std::experimental::net | |
Stream error codes | |
(function) | |
(enum) | |
Buffers | |
(class) | |
(class) | |
(function template) | |
Buffer type traits | |
(class template) | |
(class template) | |
(class template) | |
Buffer sequence access | |
(function template) | |
(function template) | |
Buffer operations | |
(function template) | |
(function template) | |
Dynamic buffers | |
(class template) | |
(class template) | |
(function template) | |
Buffer I/O | |
(class) | |
(class) | |
(class) | |
(function template) | |
(function template) | |
(function template) | |
(function template) | |
(function template) | |
(function template) |
Sockets and socket streams
Defined in header
<experimental/socket> | |
Defined in namespace
std::experimental::net | |
Socket error codes | |
(enum) | |
(function) | |
Sockets | |
(class) | |
(class template) | |
(class template) | |
(class template) | |
(class template) | |
Socket streams | |
(class template) | |
(class template) | |
Connect operations | |
(function template) | |
(function template) |
Internet protocol
Defined in header
<experimental/internet> | |
Defined in namespace
std::experimental::net::ip | |
Resolver error codes | |
(enum) | |
(function) | |
IP addresses | |
(class) | |
(function template) | |
(class) | |
(function template) | |
(class) | |
(class) | |
(function template) | |
Address iteration | |
(class template) | |
(class template) | |
Networks | |
(class) | |
(function template) | |
(class) | |
(function template) | |
Endpoints | |
(class template) | |
Name resolution | |
(class template) | |
(class template) | |
(class) | |
(class template) | |
Host name | |
(function template) | |
TCP and UDP sockets | |
(class) | |
(class) | |
Socket options | |
Defined in namespace
std::experimental::net::ip | |
(class) | |
Defined in namespace
std::experimental::net::ip::unicast | |
(class) | |
Defined in namespace
std::experimental::net::ip::multicast | |
(class) | |
(class) | |
(class) | |
(class) | |
(class) |