Extensions for networking
Расширения C++ для сетевого взаимодействия, ISO/IEC TS 19216:2018, определяет новые компоненты для стандартной библиотеки C++, перечисленные на этой странице.
Сетевое TS основано на стандарте C++14 с изменениями, внесенными версией 1 Фундаментального TS для библиотек . Его дизайн основан на библиотеке Asio .
Содержание |
Библиотечные именованные требования
Следующие именованные требования используются в нормативном тексте Сетевого TS для определения ожиданий библиотеки. Обязанность программиста — гарантировать, что шаблоны библиотеки инстанцируются с аргументами шаблонов, удовлетворяющими этим требованиям. Невыполнение этого может привести к очень сложным диагностическим сообщениям компилятора или к неопределённому поведению во время выполнения.
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
представляет набор областей памяти, которые могут быть использованы в качестве входных данных для операции
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
|
|
(именованное требование) |
Удобные заголовки
<experimental/net>
|
удобный заголовочный файл, включающий все остальные заголовочные файлы Networking TS |
<experimental/netfwd>
|
содержит предварительные объявления основных компонентов Networking TS |
Асинхронная модель
|
Определено в заголовочном файле
<experimental/executor>
|
|
|
Определено в пространстве имён
std::experimental::net
|
|
Асинхронный результат |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон функции) |
|
Контекст выполнения и сервисы |
|
|
(класс) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(класс) |
|
Исполнители |
|
|
(шаблон класса) |
|
|
(класс) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон функции) |
|
|
(шаблон класса) |
|
|
(шаблон функции) |
|
|
(шаблон класса) |
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|
Dispatch/post/defer |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
Странд |
|
|
(шаблон класса) |
|
std::future взаимодействие |
|
|
(шаблон класса) |
|
Базовые службы ввода-вывода
|
Определено в заголовочном файле
<experimental/io_context>
|
|
|
Определено в пространстве имен
std::experimental::net
|
|
|
(класс) |
|
Буферы и буферно-ориентированные потоки
|
Определено в заголовке
<experimental/buffer>
|
|
|
Определено в пространстве имён
std::experimental::net
|
|
Коды ошибок потоков |
|
|
(функция) |
|
|
(перечисление) |
|
Буферы |
|
|
(класс) |
|
|
(класс) |
|
|
(шаблон функции) |
|
Трейты типа буфера |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
Доступ к буферной последовательности |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
Операции с буфером |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
Динамические буферы |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон функции) |
|
Буферный ввод-вывод |
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
Сокеты и сокетные потоки
|
Определено в заголовочном файле
<experimental/socket>
|
|
|
Определено в пространстве имён
std::experimental::net
|
|
Коды ошибок сокетов |
|
|
(перечисление) |
|
|
(функция) |
|
Сокеты |
|
|
(класс) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
Потоки сокетов |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
Операции подключения |
|
|
(шаблон функции) |
|
|
(шаблон функции) |
|
Интернет-протокол
|
Определено в заголовочном файле
<experimental/internet>
|
|
|
Определено в пространстве имён
std::experimental::net::ip
|
|
Коды ошибок резолвера |
|
|
(перечисление) |
|
|
(функция) |
|
IP-адреса |
|
|
(класс) |
|
|
(шаблон функции) |
|
|
(класс) |
|
|
(шаблон функции) |
|
|
(класс) |
|
|
(класс) |
|
|
(шаблон функции) |
|
Итерация адресов |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
Сети |
|
|
(класс) |
|
|
(шаблон функции) |
|
|
(класс) |
|
|
(шаблон функции) |
|
Конечные точки |
|
|
(шаблон класса) |
|
Разрешение имен |
|
|
(шаблон класса) |
|
|
(шаблон класса) |
|
|
(класс) |
|
|
(шаблон класса) |
|
Имя хоста |
|
|
(шаблон функции) |
|
Сокеты TCP и UDP |
|
|
(класс) |
|
|
(класс) |
|
Опции сокета |
|
|
Определено в пространстве имён
std::experimental::net::ip
|
|
|
(класс) |
|
|
Определено в пространстве имён
std::experimental::net::ip::unicast
|
|
|
(класс) |
|
|
Определено в пространстве имен
std::experimental::net::ip::multicast
|
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|
|
(класс) |
|