bsl::swap

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 and the result of the hasValue method for lhs and rhs is the same. This function can be called in constant expressions only if t_TYPE is not allocator-aware.

Synopsis

Declared in <bslstl_optional.h>

template<class t_TYPE>
void
swap(
    bsl::optional<t_TYPE>& lhs,
    std::optional<t_TYPE>& rhs)
requires !BloombergLP::bslma::UsesBslmaAllocator<t_TYPE>::value;