Generated on 2019-10-29 from the Networking TS's
draft LaTeX sources
by
cxxdraft-htmlgen
. This is
not
an ISO publication.
Contents
List of Tables
[tab]
[tab]
1
Feature-test macro(s)
[tab:info.features]
2
Networking library summary
[tab:summary]
3
Template parameters and type requirements
[tab:summary.requirements]
4
Executor requirements
[tab:async.reqmts.executor.requirements]
5
ExecutionContext requirements
[tab:async.reqmts.executioncontext.requirements]
6
Associator requirements
[tab:async.reqmts.associator.requirements]
7
async_result
specialization requirements
[tab:async.async.result.requirements]
8
associated_allocator
specialization requirements
[tab:async.assoc.alloc.requirements]
9
associated_executor
specialization requirements
[tab:async.assoc.exec.requirements]
10
async_result<use_future_t<ProtoAllocator>, Result(Args...)>
semantics
[tab:async.use.future.result.requirements]
11
WaitTraits requirements
[tab:timer.reqmts.waittraits.requirements]
12
MutableBufferSequence requirements
[tab:buffer.reqmts.mutablebuffersequence.requirements]
13
ConstBufferSequence requirements
[tab:buffer.reqmts.constbuffersequence.requirements]
14
DynamicBuffer requirements
[tab:buffer.reqmts.dynamicbuffer.requirements]
15
Buffer type traits
[tab:buffer.traits.requirements]
16
SyncReadStream requirements
[tab:buffer.stream.reqmts.syncreadstream.requirements]
17
AsyncReadStream requirements
[tab:buffer.stream.reqmts.asyncreadstream.requirements]
18
SyncWriteStream requirements
[tab:buffer.stream.reqmts.syncwritestream.requirements]
19
AsyncWriteStream requirements
[tab:buffer.stream.reqmts.asyncwritestream.requirements]
20
CompletionCondition requirements
[tab:buffer.stream.reqmts.completioncondition.requirements]
21
Endpoint requirements
[tab:socket.reqmts.endpoint.requirements]
22
Endpoint requirements for extensible implementations
[tab:socket.reqmts.endpoint.requirements.ext]
23
EndpointSequence requirements
[tab:socket.reqmts.endpointsequence.requirements]
24
Protocol requirements
[tab:socket.reqmts.protocol.requirements]
25
Protocol requirements for extensible implementations
[tab:socket.reqmts.protocol.requirements.ext]
26
AcceptableProtocol requirements
[tab:socket.reqmts.acceptableprotocol.requirements]
27
GettableSocketOption requirements for extensible implementations
[tab:socket.reqmts.gettablesocketoption.requirements]
28
SettableSocketOption requirements for extensible implementations
[tab:socket.reqmts.settablesocketoption.requirements]
29
BooleanSocketOption requirements
[tab:socket.reqmts.opt.bool.requirements]
30
IntegerSocketOption requirements
[tab:socket.reqmts.opt.int.requirements]
31
IoControlCommand requirements for extensible implementations
[tab:socket.reqmts.iocontrolcommand.requirements]
32
ConnectCondition requirements
[tab:socket.reqmts.connectcondition.requirements]
33
socket_base
constants
[tab:socket.base.requirements]
34
Socket options
[tab:socket.opt.requirements]
35
InternetProtocol requirements
[tab:internet.reqmts.protocol.requirements]
36
MulticastGroupSocketOption requirements
[tab:internet.reqmts.opt.mcast.requirements]
37
Resolver flags
[tab:internet.resolver.base.requirements]
38
Behavior of extensible
ip::tcp
implementations
[tab:internet.tcp.requirements]
39
Behavior of extensible
ip::udp
implementations
[tab:internet.udp.requirements]
40
Internet socket options
[tab:internet.socket.opt.requirements]
1
Scope
[scope]
[scope]
2
Normative references
[references]
[references]
3
Terms and definitions
[defs]
[defs]
3.1
host byte order
[defs.host.byte.order]
3.2
network byte order
[defs.net.byte.order]
3.3
synchronous operation
[defs.sync.op]
3.4
asynchronous operation
[defs.async.op]
4
General Principles
[general]
[general]
4.1
Conformance
[conformance]
4.1.1
POSIX conformance
[conformance.9945]
4.1.2
Conditionally-supported features
[conformance.conditional]
4.2
Acknowledgments
[intro.ack]
5
Namespaces and headers
[namespaces]
[namespaces]
6
Future plans (Informative)
[plans]
[plans]
7
Feature test macros (Informative)
[feature.test]
[feature.test]
8
Method of description (Informative)
[description]
[description]
8.1
Structure of each clause
[structure]
8.1.1
Detailed specifications
[structure.specifications]
8.2
Other conventions
[conventions]
8.2.1
Nested classes
[nested.class]
9
Error reporting
[err.report]
[err.report]
9.1
Synchronous operations
[err.report.sync]
9.2
Asynchronous operations
[err.report.async]
9.3
Error conditions
[err.report.conditions]
9.4
Suppression of signals
[err.report.signal]
10
Library summary
[summary]
[summary]
11
Convenience header
[convenience.hdr]
[convenience.hdr]
11.1
Header
<experimental/net>
synopsis
[convenience.hdr.synop]
12
Forward declarations
[fwd.decl]
[fwd.decl]
12.1
Header
<experimental/netfwd>
synopsis
[fwd.decl.synop]
13
Asynchronous model
[async]
[async]
13.1
Header
<experimental/executor>
synopsis
[async.synop]
13.2
Requirements
[async.reqmts]
13.2.1
Proto-allocator requirements
[async.reqmts.proto.allocator]
13.2.2
Executor requirements
[async.reqmts.executor]
13.2.3
Execution context requirements
[async.reqmts.executioncontext]
13.2.4
Service requirements
[async.reqmts.service]
13.2.5
Signature requirements
[async.reqmts.signature]
13.2.6
Associator requirements
[async.reqmts.associator]
13.2.7
Requirements on asynchronous operations
[async.reqmts.async]
13.2.7.1
General asynchronous operation concepts
[async.reqmts.async.concepts]
13.2.7.2
Completion tokens and handlers
[async.reqmts.async.token]
13.2.7.3
Deduction of initiating function return type
[async.reqmts.async.return.type]
13.2.7.4
Production of initiating function return value
[async.reqmts.async.return.value]
13.2.7.5
Lifetime of initiating function arguments
[async.reqmts.async.lifetime]
13.2.7.6
Non-blocking requirements on initiating functions
[async.reqmts.async.non.blocking]
13.2.7.7
Associated executor
[async.reqmts.async.assoc.exec]
13.2.7.8
I/O executor
[async.reqmts.async.io.exec]
13.2.7.9
Completion handler executor
[async.reqmts.async.handler.exec]
13.2.7.10
Outstanding work
[async.reqmts.async.work]
13.2.7.11
Allocation of intermediate storage
[async.reqmts.async.alloc]
13.2.7.12
Execution of completion handler on completion of asynchronous operation
[async.reqmts.async.completion]
13.2.7.13
Completion handlers and exceptions
[async.reqmts.async.exceptions]
13.2.7.14
Composed asynchronous operations
[async.reqmts.async.composed]
13.3
Class template
async_result
[async.async.result]
13.4
Class template
async_completion
[async.async.completion]
13.5
Class template
associated_allocator
[async.assoc.alloc]
13.5.1
associated_allocator
members
[async.assoc.alloc.members]
13.6
Function
get_associated_allocator
[async.assoc.alloc.get]
13.7
Class
execution_context
[async.exec.ctx]
13.7.1
execution_context
constructor
[async.exec.ctx.cons]
13.7.2
execution_context
destructor
[async.exec.ctx.dtor]
13.7.3
execution_context
operations
[async.exec.ctx.ops]
13.7.4
execution_context
protected operations
[async.exec.ctx.protected]
13.7.5
execution_context
globals
[async.exec.ctx.globals]
13.8
Class
execution_context::service
[async.exec.ctx.svc]
13.9
Class template
is_executor
[async.is.exec]
13.10
Executor argument tag
[async.executor.arg]
13.11
uses_executor
[async.uses.executor]
13.11.1
uses_executor
trait
[async.uses.executor.trait]
13.11.2
uses-executor construction
[async.uses.executor.cons]
13.12
Class template
associated_executor
[async.assoc.exec]
13.12.1
associated_executor
members
[async.assoc.exec.members]
13.13
Function
get_associated_executor
[async.assoc.exec.get]
13.14
Class template
executor_binder
[async.exec.binder]
13.14.1
executor_binder
constructors
[async.exec.binder.cons]
13.14.2
executor_binder
access
[async.exec.binder.access]
13.14.3
executor_binder
invocation
[async.exec.binder.invocation]
13.14.4
Class template partial specialization
async_result
[async.exec.binder.async.result]
13.14.5
Class template partial specialization
associated_allocator
[async.exec.binder.assoc.alloc]
13.14.6
Class template partial specialization
associated_executor
[async.exec.binder.assoc.exec]
13.15
Function
bind_executor
[async.bind.executor]
13.16
Class template
executor_work_guard
[async.exec.work.guard]
13.16.1
executor_work_guard
members
[async.exec.work.guard.members]
13.17
Function
make_work_guard
[async.make.work.guard]
13.18
Class
system_executor
[async.system.exec]
13.18.1
system_executor
operations
[async.system.exec.ops]
13.18.2
system_executor
comparisons
[async.system.exec.comparisons]
13.19
Class
system_context
[async.system.context]
13.20
Class
bad_executor
[async.bad.exec]
13.21
Class
executor
[async.executor]
13.21.1
executor
constructors
[async.executor.cons]
13.21.2
executor
assignment
[async.executor.assign]
13.21.3
executor
destructor
[async.executor.dtor]
13.21.4
executor
modifiers
[async.executor.modifiers]
13.21.5
executor
operations
[async.executor.ops]
13.21.6
executor
capacity
[async.executor.capacity]
13.21.7
executor
target access
[async.executor.target]
13.21.8
executor
comparisons
[async.executor.comparisons]
13.21.9
executor
specialized algorithms
[async.executor.algo]
13.22
Function
dispatch
[async.dispatch]
13.23
Function
post
[async.post]
13.24
Function
defer
[async.defer]
13.25
Class template
strand
[async.strand]
13.25.1
strand
constructors
[async.strand.cons]
13.25.2
strand
assignment
[async.strand.assign]
13.25.3
strand
destructor
[async.strand.dtor]
13.25.4
strand
operations
[async.strand.ops]
13.25.5
strand
comparisons
[async.strand.comparisons]
13.26
Class template
use_future_t
[async.use.future]
13.26.1
use_future_t
constructors
[async.use.future.cons]
13.26.2
use_future_t
members
[async.use.future.members]
13.26.3
Partial class template specialization
async_result
for
use_future_t
[async.use.future.result]
13.27
Partial specialization of
async_result
for
packaged_task
[async.packaged.task.spec]
14
Basic I/O services
[io_context]
[io_context]
14.1
Header
<experimental/io_context>
synopsis
[io_context.synop]
14.2
Class
io_context
[io_context.io_context]
14.2.1
io_context
members
[io_context.io_context.members]
14.3
Class
io_context::executor_type
[io_context.exec]
14.3.1
io_context::executor_type
constructors
[io_context.exec.cons]
14.3.2
io_context::executor_type
assignment
[io_context.exec.assign]
14.3.3
io_context::executor_type
operations
[io_context.exec.ops]
14.3.4
io_context::executor_type
comparisons
[io_context.exec.comparisons]
15
Timers
[timer]
[timer]
15.1
Header
<experimental/timer>
synopsis
[timer.synop]
15.2
Requirements
[timer.reqmts]
15.2.1
Wait traits requirements
[timer.reqmts.waittraits]
15.3
Class template
wait_traits
[timer.waittraits]
15.4
Class template
basic_waitable_timer
[timer.waitable]
15.4.1
basic_waitable_timer
constructors
[timer.waitable.cons]
15.4.2
basic_waitable_timer
destructor
[timer.waitable.dtor]
15.4.3
basic_waitable_timer
assignment
[timer.waitable.assign]
15.4.4
basic_waitable_timer
operations
[timer.waitable.ops]
16
Buffers
[buffer]
[buffer]
16.1
Header
<experimental/buffer>
synopsis
[buffer.synop]
16.2
Requirements
[buffer.reqmts]
16.2.1
Mutable buffer sequence requirements
[buffer.reqmts.mutablebuffersequence]
16.2.2
Constant buffer sequence requirements
[buffer.reqmts.constbuffersequence]
16.2.3
Buffer size
[buffer.reqmts.size]
16.2.4
Dynamic buffer requirements
[buffer.reqmts.dynamicbuffer]
16.2.5
Requirements on read and write operations
[buffer.reqmts.read.write]
16.3
Error codes
[buffer.err]
16.4
Class
mutable_buffer
[buffer.mutable]
16.5
Class
const_buffer
[buffer.const]
16.6
Buffer type traits
[buffer.traits]
16.7
Buffer sequence access
[buffer.seq.access]
16.8
Function
buffer_size
[buffer.size]
16.9
Function
buffer_copy
[buffer.copy]
16.10
Buffer arithmetic
[buffer.arithmetic]
16.11
Buffer creation functions
[buffer.creation]
16.12
Class template
dynamic_vector_buffer
[buffer.dynamic.vector]
16.13
Class template
dynamic_string_buffer
[buffer.dynamic.string]
16.14
Dynamic buffer creation functions
[buffer.dynamic.creation]
17
Buffer-oriented streams
[buffer.stream]
[buffer.stream]
17.1
Requirements
[buffer.stream.reqmts]
17.1.1
Buffer-oriented synchronous read stream requirements
[buffer.stream.reqmts.syncreadstream]
17.1.2
Buffer-oriented asynchronous read stream requirements
[buffer.stream.reqmts.asyncreadstream]
17.1.3
Buffer-oriented synchronous write stream requirements
[buffer.stream.reqmts.syncwritestream]
17.1.4
Buffer-oriented asynchronous write stream requirements
[buffer.stream.reqmts.asyncwritestream]
17.1.5
Completion condition requirements
[buffer.stream.reqmts.completioncondition]
17.2
Class
transfer_all
[buffer.stream.transfer.all]
17.3
Class
transfer_at_least
[buffer.stream.transfer.at.least]
17.4
Class
transfer_exactly
[buffer.stream.transfer.exactly]
17.5
Synchronous read operations
[buffer.read]
17.6
Asynchronous read operations
[buffer.async.read]
17.7
Synchronous write operations
[buffer.write]
17.8
Asynchronous write operations
[buffer.async.write]
17.9
Synchronous delimited read operations
[buffer.read.until]
17.10
Asynchronous delimited read operations
[buffer.async.read.until]
18
Sockets
[socket]
[socket]
18.1
Header
<experimental/socket>
synopsis
[socket.synop]
18.2
Requirements
[socket.reqmts]
18.2.1
Requirements on synchronous socket operations
[socket.reqmts.sync]
18.2.2
Requirements on asynchronous socket operations
[socket.reqmts.async]
18.2.3
Native handles
[socket.reqmts.native]
18.2.4
Endpoint requirements
[socket.reqmts.endpoint]
18.2.5
Endpoint sequence requirements
[socket.reqmts.endpointsequence]
18.2.6
Protocol requirements
[socket.reqmts.protocol]
18.2.7
Acceptable protocol requirements
[socket.reqmts.acceptableprotocol]
18.2.8
Gettable socket option requirements
[socket.reqmts.gettablesocketoption]
18.2.9
Settable socket option requirements
[socket.reqmts.settablesocketoption]
18.2.10
Boolean socket options
[socket.reqmts.opt.bool]
18.2.11
Integer socket options
[socket.reqmts.opt.int]
18.2.12
I/O control command requirements
[socket.reqmts.iocontrolcommand]
18.2.13
Connect condition requirements
[socket.reqmts.connectcondition]
18.3
Error codes
[socket.err]
18.4
Class
socket_base
[socket.base]
18.5
Socket options
[socket.opt]
18.5.1
Class
socket_base::linger
[socket.opt.linger]
18.6
Class template
basic_socket
[socket.basic]
18.6.1
basic_socket
constructors
[socket.basic.cons]
18.6.2
basic_socket
destructor
[socket.basic.dtor]
18.6.3
basic_socket
assignment
[socket.basic.assign]
18.6.4
basic_socket
operations
[socket.basic.ops]
18.7
Class template
basic_datagram_socket
[socket.dgram]
18.7.1
basic_datagram_socket
constructors
[socket.dgram.cons]
18.7.2
basic_datagram_socket
assignment
[socket.dgram.assign]
18.7.3
basic_datagram_socket
operations
[socket.dgram.op]
18.8
Class template
basic_stream_socket
[socket.stream]
18.8.1
basic_stream_socket
constructors
[socket.stream.cons]
18.8.2
basic_stream_socket
assignment
[socket.stream.assign]
18.8.3
basic_stream_socket
operations
[socket.stream.ops]
18.9
Class template
basic_socket_acceptor
[socket.acceptor]
18.9.1
basic_socket_acceptor
constructors
[socket.acceptor.cons]
18.9.2
basic_socket_acceptor
destructor
[socket.acceptor.dtor]
18.9.3
basic_socket_acceptor
assignment
[socket.acceptor.assign]
18.9.4
basic_socket_acceptor
operations
[socket.acceptor.ops]
19
Socket iostreams
[socket.iostreams]
[socket.iostreams]
19.1
Class template
basic_socket_streambuf
[socket.streambuf]
19.1.1
basic_socket_streambuf
constructors
[socket.streambuf.cons]
19.1.2
basic_socket_streambuf
members
[socket.streambuf.members]
19.1.3
basic_socket_streambuf
overridden virtual functions
[socket.streambuf.virt]
19.2
Class template
basic_socket_iostream
[socket.iostream]
19.2.1
basic_socket_iostream
constructors
[socket.iostream.cons]
19.2.2
basic_socket_iostream
members
[socket.iostream.members]
20
Socket algorithms
[socket.algo]
[socket.algo]
20.1
Synchronous connect operations
[socket.algo.connect]
20.2
Asynchronous connect operations
[socket.algo.async.connect]
21
Internet protocol
[internet]
[internet]
21.1
Header
<experimental/internet>
synopsis
[internet.synop]
21.2
Requirements
[internet.reqmts]
21.2.1
Internet protocol requirements
[internet.reqmts.protocol]
21.2.2
Multicast group socket options
[internet.reqmts.opt.mcast]
21.3
Error codes
[internet.resolver.err]
21.4
Class
ip::address
[internet.address]
21.4.1
ip::address
constructors
[internet.address.cons]
21.4.2
ip::address
assignment
[internet.address.assign]
21.4.3
ip::address
members
[internet.address.members]
21.4.4
ip::address
comparisons
[internet.address.comparisons]
21.4.5
ip::address
creation
[internet.address.creation]
21.4.6
ip::address
I/O
[internet.address.io]
21.5
Class
ip::address_v4
[internet.address.v4]
21.5.1
Struct
ip::address_v4::bytes_type
[internet.address.v4.bytes]
21.5.2
ip::address_v4
constructors
[internet.address.v4.cons]
21.5.3
ip::address_v4
members
[internet.address.v4.members]
21.5.4
ip::address_v4
static members
[internet.address.v4.static]
21.5.5
ip::address_v4
comparisons
[internet.address.v4.comparisons]
21.5.6
ip::address_v4
creation
[internet.address.v4.creation]
21.5.7
ip::address_v4
I/O
[internet.address.v4.io]
21.6
Class
ip::address_v6
[internet.address.v6]
21.6.1
Struct
ip::address_v6::bytes_type
[internet.address.v6.bytes]
21.6.2
ip::address_v6
constructors
[internet.address.v6.cons]
21.6.3
ip::address_v6
members
[internet.address.v6.members]
21.6.4
ip::address_v6
static members
[internet.address.v6.static]
21.6.5
ip::address_v6
comparisons
[internet.address.v6.comparisons]
21.6.6
ip::address_v6
creation
[internet.address.v6.creation]
21.6.7
ip::address_v6
I/O
[internet.address.v6.io]
21.7
Class
ip::bad_address_cast
[internet.bad.address.cast]
21.8
Hash support
[internet.hash]
21.9
Class template
ip::basic_address_iterator
specializations
[internet.address.iter]
21.10
Class template
ip::basic_address_range
specializations
[internet.address.range]
21.11
Class template
ip::network_v4
[internet.network.v4]
21.11.1
ip::network_v4
constructors
[internet.network.v4.cons]
21.11.2
ip::network_v4
members
[internet.network.v4.members]
21.11.3
ip::network_v4
comparisons
[internet.network.v4.comparisons]
21.11.4
ip::network_v4
creation
[internet.network.v4.creation]
21.11.5
ip::network_v4
I/O
[internet.network.v4.io]
21.12
Class template
ip::network_v6
[internet.network.v6]
21.12.1
ip::network_v6
constructors
[internet.network.v6.cons]
21.12.2
ip::network_v6
members
[internet.network.v6.members]
21.12.3
ip::network_v6
comparisons
[internet.network.v6.comparisons]
21.12.4
ip::network_v6
creation
[internet.network.v6.creation]
21.12.5
ip::network_v6
I/O
[internet.network.v6.io]
21.13
Class template
ip::basic_endpoint
[internet.endpoint]
21.13.1
ip::basic_endpoint
constructors
[internet.endpoint.cons]
21.13.2
ip::basic_endpoint
members
[internet.endpoint.members]
21.13.3
ip::basic_endpoint
comparisons
[internet.endpoint.comparisons]
21.13.4
ip::basic_endpoint
I/O
[internet.endpoint.io]
21.13.5
ip::basic_endpoint
members (extensible implementations)
[internet.endpoint.extensible]
21.14
Class template
ip::basic_resolver_entry
[internet.resolver.entry]
21.14.1
ip::basic_resolver_entry
constructors
[internet.resolver.entry.cons]
21.14.2
ip::basic_resolver_entry
members
[internet.resolver.entry.members]
21.14.3
op::basic_resolver_entry
comparisons
[internet.resolver.entry.comparisons]
21.15
Class template
ip::basic_resolver_results
[internet.resolver.results]
21.15.1
ip::basic_resolver_results
constructors
[internet.resolver.results.cons]
21.15.2
ip::basic_resolver_results
assignment
[internet.resolver.results.assign]
21.15.3
ip::basic_resolver_results
size
[internet.resolver.results.size]
21.15.4
ip::basic_resolver_results
element access
[internet.resolver.results.access]
21.15.5
ip::basic_resolver_results
swap
[internet.resolver.results.swap]
21.15.6
ip::basic_resolver_results
comparisons
[internet.resolver.results.comparisons]
21.16
Class
ip::resolver_base
[internet.resolver.base]
21.17
Class template
ip::basic_resolver
[internet.resolver]
21.17.1
ip::basic_resolver
constructors
[internet.resolver.cons]
21.17.2
ip::basic_resolver
destructor
[internet.resolver.dtor]
21.17.3
ip::basic_resolver
assignment
[internet.resolver.assign]
21.17.4
ip::basic_resolver
operations
[internet.resolver.ops]
21.18
Host name functions
[internet.host.name]
21.19
Class
ip::tcp
[internet.tcp]
21.19.1
ip::tcp
comparisons
[internet.tcp.comparisons]
21.20
Class
ip::udp
[internet.udp]
21.20.1
ip::udp
comparisons
[internet.udp.comparisons]
21.21
Internet socket options
[internet.socket.opt]
21.21.1
Class
ip::multicast::outbound_interface
[internet.multicast.outbound]
Index
Index of library names
Index of implementation-defined behavior