[#BloombergLP-bslstl-Function_SmallObjectOptimization] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Function_SmallObjectOptimization :relfileprefix: ../../ :mrdocs: Utility types and constants for `bsl::function` small‐object optimization. == Synopsis Declared in `<bslstl_function_smallobjectoptimization.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class Function_SmallObjectOptimization; ---- == Description This utility `struct` provides a namespace for several types, type traits, and constants used in the implementation of the small‐object optimization for `bsl::function`. == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Function_SmallObjectOptimization/InplaceBuffer.adoc[`InplaceBuffer`] | Storage area for a functor representation using small‐object optimization. | xref:BloombergLP/bslstl/Function_SmallObjectOptimization/IsInplaceFunc.adoc[`IsInplaceFunc`] | Boolean metafunction reporting whether `FN` uses the inplace buffer. | xref:BloombergLP/bslstl/Function_SmallObjectOptimization/SooFuncSize.adoc[`SooFuncSize`] | Metafunction encoding object size and SOO eligibility for `TP`. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Function_SmallObjectOptimization/k_NON_SOO_SMALL_SIZE.adoc[`k_NON_SOO_SMALL_SIZE`] | Encoding offset marking small functors that must not use SOO. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#