[#BloombergLP-bslmf-Util-forward_like-0b] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/Util.adoc[Util]::forward_like :relfileprefix: ../../../ :mrdocs: `forward_like` overloads == Synopses Declared in `<bslmf_util.h>` Forward the specified `t` argument as a non‐`const` rvalue reference when `t_MODEL` is an rvalue reference type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_MODEL, class t_TYPE> [[nodiscard]] constexpr static bsl::remove_reference<t_TYPE>::type&& xref:BloombergLP/bslmf/Util/forward_like-0f.adoc[forward_like]( t_TYPE&& t, void* = 0) noexcept requires !bsl::is_lvalue_reference<t_MODEL>::value && !bsl::is_const< typename bsl::remove_reference<t_MODEL>::type>::value; ---- [.small]#xref:BloombergLP/bslmf/Util/forward_like-0f.adoc[_» more..._]# Forward the specified `t` argument as a `const` rvalue reference when `t_MODEL` is an rvalue reference type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_MODEL, class t_TYPE> [[nodiscard]] constexpr static bsl::remove_reference<t_TYPE>::type const&& xref:BloombergLP/bslmf/Util/forward_like-0d.adoc[forward_like]( t_TYPE&& t, void* = 0) noexcept requires !bsl::is_lvalue_reference<t_MODEL>::value && bsl::is_const< typename bsl::remove_reference<t_MODEL>::type>::value; ---- [.small]#xref:BloombergLP/bslmf/Util/forward_like-0d.adoc[_» more..._]# Forward the specified `t` argument as a non‐`const` lvalue reference when `t_MODEL` is an lvalue reference type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_MODEL, class t_TYPE> [[nodiscard]] constexpr static t_TYPE& xref:BloombergLP/bslmf/Util/forward_like-06.adoc[forward_like]( t_TYPE&& t, void* = 0) noexcept requires bsl::is_lvalue_reference<t_MODEL>::value && !bsl::is_const< typename bsl::remove_reference<t_MODEL>::type>::value; ---- [.small]#xref:BloombergLP/bslmf/Util/forward_like-06.adoc[_» more..._]# Forward the specified `t` argument as a `const` lvalue reference when `t_MODEL` is a `const` lvalue reference type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_MODEL, class t_TYPE> [[nodiscard]] constexpr static bsl::remove_reference<t_TYPE>::type const& xref:BloombergLP/bslmf/Util/forward_like-05.adoc[forward_like]( t_TYPE&& t, void* = 0) noexcept requires bsl::is_lvalue_reference<t_MODEL>::value && bsl::is_const< typename bsl::remove_reference<t_MODEL>::type>::value; ---- [.small]#xref:BloombergLP/bslmf/Util/forward_like-05.adoc[_» more..._]# == Return Value [NOTE] ==== The return value https://en.cppreference.com/cpp/language/attributes/nodiscard[should not be discarded^]. ==== [.small]#Created with https://www.mrdocs.com[MrDocs]#