...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A type X
meets the Endpoint
requirements if it
satisfies the requirements of Destructible
(C++Std [destructible]),
DefaultConstructible
(C++Std [defaultconstructible]), CopyConstructible
(C++Std [copyconstructible]), and CopyAssignable
(C++Std [copyassignable]),
as well as the additional requirements listed below.
In the table below, a
denotes a (possibly const) value of type
X
, and u
denotes an identifier.
Table 10. Endpoint requirements
expression |
type |
assertion/note |
---|---|---|
|
type meeting |
|
|
|
In the table below, a
denotes a (possibly const) value of type
X
, b
denotes a value of type X
, and
s
denotes a (possibly const) value of a type that is convertible
to size_t
and denotes a size in bytes.
Table 11. Endpoint requirements for extensible implementations
expression |
type |
assertion/note |
---|---|---|
|
|
Returns a pointer suitable for passing as the address
argument to functions such as POSIX |
|
|
Returns a pointer suitable for passing as the address
argument to functions such as POSIX |
|
|
Returns a value suitable for passing as the address_len
argument to functions such as POSIX |
|
pre: |
|
|
|
Returns a value suitable for passing as the address_len
argument to functions such as POSIX |