[#BloombergLP-bslmf-Util] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::Util :relfileprefix: ../../ :mrdocs: This struct provides several functions that are specified in the <utility> header of the C++ Standard, in order to support the `bsl` library implementation without cycles into the native standard library, and on platforms with only C++03 compilers available, where library features may be emulated. == Synopsis Declared in `<bslmf_util.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct Util; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/Util/declval.adoc[`declval`] | Return an rvalue reference to an object of the specified `t_TYPE` for use in unevaluated contexts. This function is declared but not defined. | xref:BloombergLP/bslmf/Util/forward-08c.adoc[`forward`] | `forward` overloads | xref:BloombergLP/bslmf/Util/forwardAsReference-07.adoc[`forwardAsReference`] | `forwardAsReference` overloads | xref:BloombergLP/bslmf/Util/forward_like-0b.adoc[`forward_like`] | `forward_like` overloads | xref:BloombergLP/bslmf/Util/moveIfSupported.adoc[`moveIfSupported`] | Return `std::move(t)` if `t_TYPE` is move constructible, and a reference to `t` otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#