[#BloombergLP-bslmf-IsEnum]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::IsEnum
:relfileprefix: ../../
:mrdocs:

This `struct` provides a meta&hyphen;function that computes, at compile time, whether the (template parameter) `t&lowbar;TYPE` is an enumerated type&period; It derives from `bsl&colon;&colon;true&lowbar;type` if `t&lowbar;TYPE` is an enumerated type, and from `bsl&colon;&colon;false&lowbar;type` otherwise&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;isenum&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;TYPE&gt;
struct IsEnum
    : bsl::is&lowbar;enum&lt;t&lowbar;TYPE&gt;::type
----

== Description

Enumerated types are the only user&hyphen;defined types that have the characteristics of a native arithmetic type (i&period;e&period;, they can be converted to an integral type without invoking user&hyphen;defined conversions)&period; This class takes advantage of this property to distinguish `enum` types from class types that are convertible to an integral or enumerated type&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `bsl::is&lowbar;enum&lt;t&lowbar;TYPE&gt;::type`
| 
|===


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