[#BloombergLP-bdlar-NullableValueRef] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlar.adoc[bdlar]::NullableValueRef :relfileprefix: ../../ :mrdocs: Type‐erased non‐const reference to an object in the `bdlat` nullable‐value type category. == Synopsis Declared in `<bdlar_nullablevalueref.h>` [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‐value type category. |=== == 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‐null value. The supplied `accessor` must be a callable type that can be called as if it had the following signature: ` int accessor(const VALUE& refOrValue); ` Return the value from the invocation of `accessor`. The behavior is undefined if the referred object is null. | xref:BloombergLP/bdlar/NullableValueRef/isNull.adoc[`isNull`] | Return `true` if the referred object contains a null value, and `false` otherwise. | xref:BloombergLP/bdlar/NullableValueRef/makeValue.adoc[`makeValue`] | Assign to the referred object the default value for the contained type. | xref:BloombergLP/bdlar/NullableValueRef/manipulateValue.adoc[`manipulateValue`] | Invoke the specified `manipulator` on the referred non‐null value. The supplied `manipulator` must be a callable type that can be called as if it had the following signature: ` int manipulator(VALUE *refOrValue); ` Return the value from the invocation of `manipulator`. The behavior is undefined if the referred object is null. | xref:BloombergLP/bdlar/NullableValueRef/objectAddress.adoc[`objectAddress`] | Return a pointer to the wrapped object. | xref:BloombergLP/bdlar/NullableValueRef/reset.adoc[`reset`] | Reset the referred object to the default value. | xref:BloombergLP/bdlar/NullableValueRef/valueCategory.adoc[`valueCategory`] | Return the value type category. | xref:BloombergLP/bdlar/NullableValueRef/vtable.adoc[`vtable`] | Return a pointer to the vtable. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlar/bdlat_nullableValueAccessValue-06.adoc[`bdlat_nullableValueAccessValue`] | Invoke `accessor` on the non‐null value held by `ref`. | xref:BloombergLP/bdlar/bdlat_nullableValueIsNull-04.adoc[`bdlat_nullableValueIsNull`] | Return `true` if the specified `ref` contains a null value, and `false` otherwise. | xref:BloombergLP/bdlar/bdlat_nullableValueMakeValue.adoc[`bdlat_nullableValueMakeValue`] | Create a value in the specified `ref` if it is currently null. | xref:BloombergLP/bdlar/bdlat_nullableValueManipulateValue.adoc[`bdlat_nullableValueManipulateValue`] | Invoke the specified `manipulator` on the non‐null value held by the specified `ref`. Return the value from the invocation of `manipulator`. | xref:BloombergLP/bdlar/bdlat_valueTypeReset-0c.adoc[`bdlat_valueTypeReset`] | Reset the specified `ref` to its default‐constructed state. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#