[#BloombergLP-bslstl-Optional_ImmovableHelper] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Optional_ImmovableHelper :relfileprefix: ../../ :mrdocs: This struct is used to implement direct initialization of the private data member of the `std::optional` class, which makes it possible to support immovable types returned from the `transform` member function. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, class t_INVOCABLE, class t_ARG> struct Optional_ImmovableHelper; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Optional_ImmovableHelper/2conversion.adoc[`operator t_TYPE`] | Invoke `invocable` with `arg` and return the result as `t_TYPE`. |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Optional_ImmovableHelper/arg.adoc[`arg`] | argument forwarded to `invocable` | xref:BloombergLP/bslstl/Optional_ImmovableHelper/invocable.adoc[`invocable`] | callable invoked to produce the result |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#