[#BloombergLP-bdlar-NullableValueRef]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlar.adoc[bdlar]::NullableValueRef
:relfileprefix: ../../
:mrdocs:

Type&hyphen;erased non&hyphen;const reference to an object in the `bdlat` nullable&hyphen;value type category&period;

== Synopsis

Declared in `&lt;bdlar&lowbar;nullablevalueref&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class NullableValueRef;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/NullableValueRef/CategoryTag.adoc[`CategoryTag`] 
| Tag type indicating the nullable&hyphen;value type category&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/NullableValueRef/2constructor-0f.adoc[`NullableValueRef`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlar/NullableValueRef/accessValue.adoc[`accessValue`] 
| Invoke the specified `accessor` on the referred non&hyphen;null value&period;
| xref:BloombergLP/bdlar/NullableValueRef/isNull.adoc[`isNull`] 
| Return `true` if the referred object contains a null value, and `false` otherwise&period;
| xref:BloombergLP/bdlar/NullableValueRef/makeValue.adoc[`makeValue`] 
| Assign to the referred object the default value for the contained type&period;
| xref:BloombergLP/bdlar/NullableValueRef/manipulateValue.adoc[`manipulateValue`] 
| Invoke the specified `manipulator` on the referred non&hyphen;null value&period;
| xref:BloombergLP/bdlar/NullableValueRef/objectAddress.adoc[`objectAddress`] 
| Return a pointer to the wrapped object&period;
| xref:BloombergLP/bdlar/NullableValueRef/reset.adoc[`reset`] 
| Reset the referred object to the default value&period;
| xref:BloombergLP/bdlar/NullableValueRef/valueCategory.adoc[`valueCategory`] 
| Return the value type category&period;
| xref:BloombergLP/bdlar/NullableValueRef/vtable.adoc[`vtable`] 
| Return a pointer to the vtable&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/bdlat_nullableValueAccessValue-06.adoc[`bdlat&lowbar;nullableValueAccessValue`]
| Invoke the specified `accessor` on the non&hyphen;null value held by the specified `ref`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_nullableValueIsNull-04.adoc[`bdlat&lowbar;nullableValueIsNull`]
| Return `true` if the specified `ref` contains a null value, and `false` otherwise&period;
| xref:BloombergLP/bdlar/bdlat_nullableValueMakeValue.adoc[`bdlat&lowbar;nullableValueMakeValue`]
| Create a value in the specified `ref` if it is currently null&period;
| xref:BloombergLP/bdlar/bdlat_nullableValueManipulateValue.adoc[`bdlat&lowbar;nullableValueManipulateValue`]
| Invoke the specified `manipulator` on the non&hyphen;null value held by the specified `ref`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_valueTypeReset-0c.adoc[`bdlat&lowbar;valueTypeReset`]
| Reset the specified `ref` to its default&hyphen;constructed state&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
