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

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

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlat_ChoiceFunctions/IsChoice-04.adoc[`IsChoice`] 
| This `struct` should be specialized for third&hyphen;party types that need to expose &quot;choice&quot; behavior&period; See the component&hyphen;level documentation for further information&period;
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlat_ChoiceFunctions/_04enum.adoc[`Unnamed enum`] 
| Compile&hyphen;time constants for choice selection identifiers&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlat_ChoiceFunctions/accessSelection.adoc[`accessSelection`] 
| Invoke `accessor` on the active selection of `object`&period;
| xref:BloombergLP/bdlat_ChoiceFunctions/bdlat_choiceAccessSelection.adoc[`bdlat&lowbar;choiceAccessSelection`] 
| Default customization&hyphen;point implementation of `accessSelection`&period;
| xref:BloombergLP/bdlat_ChoiceFunctions/bdlat_choiceHasSelection-07.adoc[`bdlat&lowbar;choiceHasSelection`] 
| `bdlat&lowbar;choiceHasSelection` overloads
| xref:BloombergLP/bdlat_ChoiceFunctions/bdlat_choiceMakeSelection-06d.adoc[`bdlat&lowbar;choiceMakeSelection`] 
| `bdlat&lowbar;choiceMakeSelection` overloads
| xref:BloombergLP/bdlat_ChoiceFunctions/bdlat_choiceManipulateSelection.adoc[`bdlat&lowbar;choiceManipulateSelection`] 
| Default customization&hyphen;point implementation of `manipulateSelection`&period;
| xref:BloombergLP/bdlat_ChoiceFunctions/bdlat_choiceSelectionId.adoc[`bdlat&lowbar;choiceSelectionId`] 
| Default customization&hyphen;point implementation of `selectionId`&period;
| xref:BloombergLP/bdlat_ChoiceFunctions/hasSelection-02.adoc[`hasSelection`] 
| `hasSelection` overloads
| xref:BloombergLP/bdlat_ChoiceFunctions/makeSelection-0d.adoc[`makeSelection`] 
| `makeSelection` overloads
| xref:BloombergLP/bdlat_ChoiceFunctions/manipulateSelection.adoc[`manipulateSelection`] 
| Invoke `manipulator` on the active selection of `object`&period;
| xref:BloombergLP/bdlat_ChoiceFunctions/selectionId.adoc[`selectionId`] 
| Return the id of the current selection if the selection is defined, and k&lowbar;UNDEFINED&lowbar;SELECTION&lowbar;ID otherwise&period;
|===



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