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

A type&hyphen;erased universal wrapper for reference to any type category with read&sol;write access&period;

== Synopsis

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

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/AnyRef/2constructor-02.adoc[`AnyRef`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlar/AnyRef/arrayVtable.adoc[`arrayVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;ARRAY&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/choiceVtable.adoc[`choiceVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;CHOICE&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/customizedTypeVtable.adoc[`customizedTypeVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;CUSTOMIZED&lowbar;TYPE&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/dynamicTypeVtable.adoc[`dynamicTypeVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;DYNAMIC&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/enumVtable.adoc[`enumVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;ENUMERATION&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/nullableValueVtable.adoc[`nullableValueVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;NULLABLE&lowbar;VALUE&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/objectAddress.adoc[`objectAddress`] 
| Return a pointer to the wrapped object&period;
| xref:BloombergLP/bdlar/AnyRef/reset.adoc[`reset`] 
| Reset the referred object to the default value&period;
| xref:BloombergLP/bdlar/AnyRef/sequenceVtable.adoc[`sequenceVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;SEQUENCE&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/simpleTypeVtable.adoc[`simpleTypeVtable`] 
| Return a pointer to the vtable&period; The behavior is undefined unless `typeCategory() &equals;&equals; bdlat&lowbar;TypeCategory&colon;&colon;e&lowbar;SIMPLE&lowbar;CATEGORY`&period;
| xref:BloombergLP/bdlar/AnyRef/typeCategory.adoc[`typeCategory`] 
| Return type category of the referred object&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessArray-04.adoc[`bdlat&lowbar;typeCategoryAccessArray`]
| Invoke the specified `accessor` on the array selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessChoice-04.adoc[`bdlat&lowbar;typeCategoryAccessChoice`]
| Invoke the specified `accessor` on the choice selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessCustomizedType-01.adoc[`bdlat&lowbar;typeCategoryAccessCustomizedType`]
| Invoke the specified `accessor` on the customized&hyphen;type selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessEnumeration-07.adoc[`bdlat&lowbar;typeCategoryAccessEnumeration`]
| Invoke the specified `accessor` on the enumeration selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessNullableValue-09.adoc[`bdlat&lowbar;typeCategoryAccessNullableValue`]
| Invoke the specified `accessor` on the nullable&hyphen;value selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessSequence-03.adoc[`bdlat&lowbar;typeCategoryAccessSequence`]
| Invoke the specified `accessor` on the sequence selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessSimple-03.adoc[`bdlat&lowbar;typeCategoryAccessSimple`]
| Invoke the specified `accessor` on the simple&hyphen;type selection of the specified `any`&period; Return the value from the invocation of `accessor`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateArray-0f.adoc[`bdlat&lowbar;typeCategoryManipulateArray`]
| Invoke the specified `manipulator` on the array selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateChoice-03.adoc[`bdlat&lowbar;typeCategoryManipulateChoice`]
| Invoke the specified `manipulator` on the choice selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateCustomizedType-08.adoc[`bdlat&lowbar;typeCategoryManipulateCustomizedType`]
| Invoke the specified `manipulator` on the customized&hyphen;type selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateEnumeration-03.adoc[`bdlat&lowbar;typeCategoryManipulateEnumeration`]
| Invoke the specified `manipulator` on the enumeration selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateNullableValue-02.adoc[`bdlat&lowbar;typeCategoryManipulateNullableValue`]
| Invoke the specified `manipulator` on the nullable&hyphen;value selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateSequence-0a.adoc[`bdlat&lowbar;typeCategoryManipulateSequence`]
| Invoke the specified `manipulator` on the sequence selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryManipulateSimple-06.adoc[`bdlat&lowbar;typeCategoryManipulateSimple`]
| Invoke the specified `manipulator` on the simple&hyphen;type selection of the specified `any`&period; Return the value from the invocation of `manipulator`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategorySelect-02a.adoc[`bdlat&lowbar;typeCategorySelect`]
| Return the type category of the object referred to by the specified `any`&period;
| xref:BloombergLP/bdlar/bdlat_valueTypeReset-07.adoc[`bdlat&lowbar;valueTypeReset`]
| Reset the object referred to by the specified `ref`&period;
|===


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