[#BloombergLP-bslalg-NothrowMovableUtil_Traits-03] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-04.adoc[NothrowMovableUtil_Traits]<TYPE, true> :relfileprefix: ../../ :mrdocs: Component‐private class ‐‐ do not use. This specialization of traits is for function types that are not wrapped. This specialization is NOT for function pointers or function references. == Synopsis Declared in `<bslalg_nothrowmovableutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> struct xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-04.adoc[NothrowMovableUtil_Traits]<TYPE, true>; ---- == Description `UnwrappedType` is an object type, and is thus the decayed version of `TYPE`, i.e., a function pointer. Since `unwrap` always returns a reference, this decay means that, `unwrap(f)` will not compile if `f` is a function or reference to function. However `UnwrappedType pf = f;` will work whether `f` is a function or not. == Type Aliases [cols="1"] |=== | Name | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/IsWrapped.adoc[`IsWrapped`] | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/UnwrappedType.adoc[`UnwrappedType`] | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/WrappedType.adoc[`WrappedType`] |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#