18 Sockets [socket]

18.2 Requirements [socket.reqmts]

18.2.6 Protocol requirements [socket.reqmts.protocol]

A type X meets the Protocol requirements if it satisfies the requirements of Destructible (C++ 2014 [destructible]), CopyConstructible (C++ 2014 [copyconstructible]), and CopyAssignable (C++ 2014 [copyassignable]), as well as the additional requirements listed below.

Table 24 — Protocol requirements
expressionreturn typeassertion/note pre/post-conditions
X::endpoint type meeting endpoint ([socket.reqmts.endpoint]) requirements

In the table below, a denotes a (possibly const) value of type X.

Table 25 — Protocol requirements for extensible implementations
expressionreturn typeassertion/note pre/post-conditions
a.family() int Returns a value suitable for passing as the domain argument to POSIX socket (or equivalent).
a.type() int Returns a value suitable for passing as the type argument to POSIX socket (or equivalent).
a.protocol() int Returns a value suitable for passing as the protocol argument to POSIX socket (or equivalent).