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

Constructors

== Synopses

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

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


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

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

Create `ChoiceConstRef` 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/ChoiceConstRef/2constructor-05.adoc[ChoiceConstRef](
    void const* objectAddress,
    xref:BloombergLP/bdlar/ChoiceConstVtable.adoc[ChoiceConstVtable] const* vtable);
----

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

Create `ChoiceConstRef` object that type erases the supplied `choice` object&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;CHOICE&gt;
explicit
xref:BloombergLP/bdlar/ChoiceConstRef/2constructor-02.adoc[ChoiceConstRef](
    t&lowbar;CHOICE const& choice,
    void* = 0)
requires IsChoice&lt;t&lowbar;CHOICE&gt;&colon;&colon;value;
----

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


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