|  | Home | Libraries | People | FAQ | More | 
        A type X meets the Protocol requirements if it
        satisfies the requirements of Destructible (C++Std [destructible]),
        CopyConstructible (C++Std [copyconstructible]), and CopyAssignable
        (C++Std [copyassignable]), as well as the additional requirements listed
        below.
      
        No copy or move operation of the type X shall exit via an exception.
      
Table 26. Protocol requirements
| expression | return type | 
                  assertion/note | 
|---|---|---|
| 
                   | type meeting endpoint requirements | 
        In the table below, a denotes a (possibly const) value of type
        X.
      
Table 27. Protocol requirements for extensible implementations
| expression | return type | 
                  assertion/note | 
|---|---|---|
| 
                   | 
                   | 
                  Returns a value suitable for passing as the domain
                  argument to POSIX  | 
| 
                   | 
                   | 
                  Returns a value suitable for passing as the type
                  argument to POSIX  | 
| 
                   | 
                   | 
                  Returns a value suitable for passing as the protocol
                  argument to POSIX  |