[#BloombergLP-bdlat-NullableValueUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlat.adoc[bdlat]::NullableValueUtil :relfileprefix: ../../ :mrdocs: This `struct` provides a namespace for a suite of function templates providing non‐primitive operations on "nullable value" types. == Synopsis Declared in `<bdlat_nullablevalueutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct NullableValueUtil; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlat/NullableValueUtil/accessValueByCategory.adoc[`accessValueByCategory`] | Invoke the specified `accessor` on the non‐modifiable value stored in the specified "nullable" `object` and on a prvalue of the category tag type for the dynamic category of the value. See {`bdlat_typecategory`|Category Tags and Enumerators} for documentation about category tags. Return the value from the invocation of `accessor`. The `accessor` must be an accessor functor. See {`bdlat_typecategory`|`ACCESSOR` Functors} for the requirements on `accessor`. The behavior is undefined if `object` contains a null value. | xref:BloombergLP/bdlat/NullableValueUtil/manipulateValueByCategory.adoc[`manipulateValueByCategory`] | Invoke the specified `manipulator` on the address of the value stored in the specified "nullable" `object` and on a prvalue of the category tag type for the dynamic category of the value. See {`bdlat_typecategory`|Category Tags and Enumerators} for documentation about category tags. Return the value from the invocation of `manipulator`. The `manipulator` must be a manipulator functor. See {`bdlat_typecategory`|`MANIPULATOR` Functors} for the requirements on `manipulator`. The behavior is undefined if `object` contains a null value. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#