Exchange the values of two optionals.
Declared in <bslstl_optional.h>
template<class t_TYPE>
void
swap(
bsl::optional<t_TYPE>& lhs,
bsl::optional<t_TYPE>& rhs)
requires BloombergLP::bslma::UsesBslmaAllocator<t_TYPE>::value;
Efficiently exchange the values of the specified lhs and rhs objects. This method provides the no-throw exception-safety guarantee if the template parameter t_TYPE provides that guarantee, lhs and rhs have equal allocators, and lhs.hasValue() == rhs.hasValue().
| Name | Description |
|---|---|
| lhs | left-hand operand |
| rhs | right-hand operand |