[#bsl-swap-00c] = xref:bsl.adoc[bsl]::swap :relfileprefix: ../ :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_TYPE> void swap( xref:bsl/optional-072.adoc[bsl::optional<t_TYPE>]& lhs, std::optional<t_TYPE>& rhs) requires !BloombergLP::bslma::UsesBslmaAllocator<t_TYPE>::value; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#