16 Library introduction [library]

16.4 Library-wide requirements [requirements]

16.4.4 Requirements on types and expressions [utility.requirements]

16.4.4.4 Cpp17NullablePointer requirements [nullablepointer.requirements]

Table 36: Cpp17NullablePointer requirements [tab:cpp17.nullablepointer]
Expression
Return type
Operational semantics
P u(np);
Postconditions: u == nullptr
P u = np;
P(np)
Postconditions: P(np) == nullptr
t = np
P&
Postconditions: t == nullptr
a != b
decltype(a != b) models boolean-testable
!(a == b)
a == np
decltype(a == np) and decltype(np == a) each model boolean-testable
a == P()
np == a
a != np
decltype(a != np) and decltype(np != a) each model boolean-testable
!(a == np)
np != a