[#BloombergLP-bdlat_EnumFunctions]
= xref:BloombergLP.adoc[BloombergLP]::bdlat&lowbar;EnumFunctions
:relfileprefix: ../
:mrdocs:

This `namespace` provides functions that expose &quot;enumeration&quot; behavior for &quot;enumeration&quot; types&period; See the component&hyphen;level documentation for more information&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlat_EnumFunctions/HasFallbackEnumerator-00.adoc[`HasFallbackEnumerator`] 
| This `struct` should be specialized for third&hyphen;party types that need to declare the fact that they have a fallback enumerator value&period; Clients that specialize this struct must ensure that if `HasFallbackEnumerator&lt;TYPE&gt;&colon;&colon;value` is true, then `IsEnumeration&lt;TYPE&gt;&colon;&colon;value` is also true&semi; otherwise, the behavior is undefined&period;
| xref:BloombergLP/bdlat_EnumFunctions/IsEnumeration-0c.adoc[`IsEnumeration`] 
| This `struct` should be specialized for third&hyphen;party types that need to expose &quot;enumeration&quot; behavior&period; See the component&hyphen;level documentation for further information&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumFromInt.adoc[`bdlat&lowbar;enumFromInt`] 
| Default customization&hyphen;point implementation of `fromInt`&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumFromString.adoc[`bdlat&lowbar;enumFromString`] 
| Default customization&hyphen;point implementation of `fromString`&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumHasFallback.adoc[`bdlat&lowbar;enumHasFallback`] 
| Return `true` if the specified `value` supports a fallback enumerator, and `false` otherwise&period; The behavior is undefined if this default implementation of `bdlat&lowbar;enumHasFallback` is instantiated with a template parameter `TYPE` such that `bdlat&lowbar;HasFallbackEnumerator&lt;TYPE&gt;` is `false`&period; Note that this is a customization point function and should not be called directly by user code&period; Use `bdlat&lowbar;EnumFunctions&colon;&colon;hasFallback` instead&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumIsFallback.adoc[`bdlat&lowbar;enumIsFallback`] 
| Return `true` if the specified `value` is equal to a fallback enumerator, and `false` otherwise&period; The behavior is undefined if this default implementation of `bdlat&lowbar;enumIsFallback` is instantiated with a template parameter `TYPE` such that `bdlat&lowbar;HasFallbackEnumerator&lt;TYPE&gt;` is `false`&period; Note that this is a customization point function and should not be called directly by user code&period; Use `bdlat&lowbar;EnumFunctions&colon;&colon;isFallback` instead&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumMakeFallback.adoc[`bdlat&lowbar;enumMakeFallback`] 
| Load into the specified `result` the fallback enumerator value&period; Return 0 on success, and a non&hyphen;zero value with no effect on `result` if it does not have a fallback enumerator&period; The behavior is undefined if this default implementation of `bdlat&lowbar;enumMakeFallback` is instantiated with a template parameter `TYPE` such that `bdlat&lowbar;HasFallbackEnumerator&lt;TYPE&gt;` is `false`&period; Note that this is a customization point function and should not be called directly by user code&period; Use `bdlat&lowbar;EnumFunctions&colon;&colon;makeFallback` instead&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumToInt.adoc[`bdlat&lowbar;enumToInt`] 
| Default customization&hyphen;point implementation of `toInt`&period;
| xref:BloombergLP/bdlat_EnumFunctions/bdlat_enumToString.adoc[`bdlat&lowbar;enumToString`] 
| Default customization&hyphen;point implementation of `toString`&period;
| xref:BloombergLP/bdlat_EnumFunctions/fromInt.adoc[`fromInt`] 
| Load into the specified `result` the enumerator matching the specified `number`&period; Return 0 on success, and a non&hyphen;zero value with no effect on `result` if `number` does not match any enumerator&period;
| xref:BloombergLP/bdlat_EnumFunctions/fromString.adoc[`fromString`] 
| Load into the specified `result` the enumerator matching the specified `string` of the specified `stringLength`&period; Return 0 on success, and a non&hyphen;zero value with no effect on `result` if `string` and `stringLength` do not match any enumerator&period;
| xref:BloombergLP/bdlat_EnumFunctions/hasFallback.adoc[`hasFallback`] 
| Return `true` if the specified `value` supports a fallback enumerator, and `false` otherwise&period;
| xref:BloombergLP/bdlat_EnumFunctions/isFallback.adoc[`isFallback`] 
| Return `true` if the specified `value` is equal to a fallback enumerator, and `false` otherwise&period;
| xref:BloombergLP/bdlat_EnumFunctions/makeFallback.adoc[`makeFallback`] 
| Load into the specified `result` the fallback enumerator value&period; Return 0 on success, and a non&hyphen;zero value with no effect on `result` if it does not have a fallback enumerator&period;
| xref:BloombergLP/bdlat_EnumFunctions/toInt.adoc[`toInt`] 
| Load into the specified `result` the integer representation of the enumerator value held by the specified `value`&period;
| xref:BloombergLP/bdlat_EnumFunctions/toString.adoc[`toString`] 
| Load into the specified `result` the string representation of the enumerator value held by the specified `value`&period;
|===



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