[#BloombergLP-bslstl-Function_SmallObjectOptimization-IsInplaceFunc] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Function_SmallObjectOptimization.adoc[Function_SmallObjectOptimization]::IsInplaceFunc :relfileprefix: ../../../ :mrdocs: This class is a Boolean metafunction that determines whether or not the specified `FN` template parameter should be allocated within the footprint of the `InplaceBuffer` (i.e., using the small‐object optimization.) == Synopsis Declared in `<bslstl_function_smallobjectoptimization.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class FN> struct IsInplaceFunc : xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, SooFuncSize<FN>::value <= sizeof(InplaceBuffer)>] ---- == Description # Implementation Note In the future, `InplaceFunc` should also consider the alignment of `FN` in its determination of whether or not `bsl::function` will use the small‐object optimization. However, `bsl::function` currently has no way to specify alignment when it allocates memory. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/integral_constant-02.adoc[bsl::integral_constant<bool, SooFuncSize<FN>::value <= sizeof(InplaceBuffer)>]` | Metafunction representing a compile‐time constant of the specified (template parameter) `t_TYPE` with the specified (template parameter) `t_VALUE`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/type.adoc[`type`] | Alias for this `integral_constant` specialization. | xref:bsl/integral_constant-02/value_type.adoc[`value_type`] | |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/integral_constant-02/operator_call.adoc[`operator()`] | Return a copy of the template argument `t_VALUE`. | xref:bsl/integral_constant-02/2conversion.adoc[`operator value_type`] | |=== == Static Data Members [cols="1"] |=== | Name | xref:bsl/integral_constant-02/value.adoc[`value`] |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#