[#BloombergLP-bdlar-EnumRef-2constructor-02] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlar.adoc[bdlar]::xref:BloombergLP/bdlar/EnumRef.adoc[EnumRef]::EnumRef :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<bdlar_enumref.h>` Create an `EnumRef` object that type erases the supplied `enumeration` object. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ENUM> explicit xref:BloombergLP/bdlar/EnumRef/2constructor-0f0.adoc[EnumRef](t_ENUM& enumeration) requires IsEnum<t_ENUM>::value; ---- [.small]#xref:BloombergLP/bdlar/EnumRef/2constructor-0f0.adoc[_» more..._]# Create an `EnumRef` object. The behaviour is undefined unless `objectAddress` and `vtable` point to the valid objects. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bdlar/EnumRef/2constructor-0f2.adoc[EnumRef]( void* objectAddress, xref:BloombergLP/bdlar/EnumVtable.adoc[EnumVtable] const* vtable); ---- [.small]#xref:BloombergLP/bdlar/EnumRef/2constructor-0f2.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *enumeration* | enumeration object to wrap | *objectAddress* | address of the enumeration object to wrap | *vtable* | pointer to the vtable for the enumeration type |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#