[#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 traits for unwrapped function types. == 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 Do not use. This specialization is for function types that are not wrapped. This specialization is NOT for function pointers or function references. `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,4"] |=== | Name| Description | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/IsWrapped.adoc[`IsWrapped`] | Alias for `bsl::false_type` (type is not wrapped). | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/UnwrappedType.adoc[`UnwrappedType`] | Alias for the unwrapped type of `TYPE`. | xref:BloombergLP/bslalg/NothrowMovableUtil_Traits-03/WrappedType.adoc[`WrappedType`] | Alias for the wrapped type of `TYPE`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#