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

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

== Synopsis

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

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/AnyConstRef/2constructor-0f.adoc[`AnyConstRef`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlar/AnyConstRef/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/AnyConstRef/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/AnyConstRef/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/AnyConstRef/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/AnyConstRef/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/AnyConstRef/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/AnyConstRef/objectAddress.adoc[`objectAddress`] 
| Return a pointer to the wrapped object&period;
| xref:BloombergLP/bdlar/AnyConstRef/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/AnyConstRef/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/AnyConstRef/typeCategory.adoc[`typeCategory`] 
| Return type category of the referred object&period;
| xref:BloombergLP/bdlar/AnyConstRef/xsdName.adoc[`xsdName`] 
| Return the `bdlat&lowbar;TypeName&colon;&colon;xsdName` value for the underlying object&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlar/bdlat_TypeName_xsdName-0d.adoc[`bdlat&lowbar;TypeName&lowbar;xsdName`]
| Return the XSD name of the object referred to by the specified `ref`&period;
| xref:BloombergLP/bdlar/bdlat_customizedTypeConvertToBaseType-09.adoc[`bdlat&lowbar;customizedTypeConvertToBaseType`]
| Return an `AnyConstRef` to the base&hyphen;type representation of the specified `ref`&period;
| xref:BloombergLP/bdlar/bdlat_customizedTypeConvertToBaseType-0a.adoc[`bdlat&lowbar;customizedTypeConvertToBaseType`]
| Return the base&hyphen;type representation of the specified `ref`&period;
| xref:BloombergLP/bdlar/bdlat_typeCategoryAccessArray-09.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-06.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-07.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-0b.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-02.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-02.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-0b.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_typeCategorySelect-0a.adoc[`bdlat&lowbar;typeCategorySelect`]
| Return the type category of the object referred to by the specified `any`&period;
|===


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