[#BloombergLP-bdlar-EnumConstRef-2constructor-06]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlar.adoc[bdlar]::xref:BloombergLP/bdlar/EnumConstRef.adoc[EnumConstRef]::EnumConstRef
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

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

Create an `EnumConstRef` object that wraps the same object as the specified `object`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlar/EnumConstRef/2constructor-04.adoc[EnumConstRef](xref:BloombergLP/bdlar/EnumRef.adoc[EnumRef] const& object);
----

[.small]#xref:BloombergLP/bdlar/EnumConstRef/2constructor-04.adoc[_» more&period;&period;&period;_]#

Create an `EnumConstRef` object that type erases the supplied `enumeration` object&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;ENUM&gt;
explicit
xref:BloombergLP/bdlar/EnumConstRef/2constructor-01.adoc[EnumConstRef](t&lowbar;ENUM const& enumeration)
requires IsEnum&lt;t&lowbar;ENUM&gt;&colon;&colon;value;
----

[.small]#xref:BloombergLP/bdlar/EnumConstRef/2constructor-01.adoc[_» more&period;&period;&period;_]#

Create an `EnumConstRef` object&period; The behaviour is undefined unless `objectAddress` and `vtable` point to the valid objects&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdlar/EnumConstRef/2constructor-0a.adoc[EnumConstRef](
    void const* objectAddress,
    xref:BloombergLP/bdlar/EnumConstVtable.adoc[EnumConstVtable] const* vtable);
----

[.small]#xref:BloombergLP/bdlar/EnumConstRef/2constructor-0a.adoc[_» more&period;&period;&period;_]#

== Parameters

[cols="1,4"]
|===
| Name| Description
| *object*
| non&hyphen;const enumeration reference to rewrap as const
| *enumeration*
| enumeration object to wrap
| *objectAddress*
| address of the enumeration object to wrap
| *vtable*
| pointer to the const vtable for the enumeration type
|===


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