[#BloombergLP-bdlar-ChoiceRef] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlar.adoc[bdlar]::ChoiceRef :relfileprefix: ../../ :mrdocs: == Synopsis Declared in `<bdlar_choiceref.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class ChoiceRef; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlar/ChoiceRef/2constructor-0f.adoc[`ChoiceRef`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdlar/ChoiceRef/accessSelection.adoc[`accessSelection`] | Invoke the specified `accessor` on the (non‐modifiable) selection, supplying `accessor` with the corresponding selection information structure. The supplied `accessor` must be a callable type that can be called as if it had the following signature: ` template <class t_INFO> int accessor(const SELECTION& refOrValue, const t_INFO& info); ` Return the value returned from the invocation of `accessor`. The behavior is undefined unless `selectionId() != ‐1`. | xref:BloombergLP/bdlar/ChoiceRef/hasSelection-0c.adoc[`hasSelection`] | `hasSelection` overloads | xref:BloombergLP/bdlar/ChoiceRef/makeSelection-0bd.adoc[`makeSelection`] | `makeSelection` overloads | xref:BloombergLP/bdlar/ChoiceRef/manipulateSelection.adoc[`manipulateSelection`] | Invoke the specified `manipulator` on the address of the (modifiable) selection, supplying `manipulator` with the corresponding selection information structure. The supplied `manipulator` must be a callable type that can be called as if it had the following signature: ` template <class t_INFO> int manipulator(SELECTION *refOrValue, const t_INFO& info); ` Return the value returned from the invocation of `manipulator`. The behavior is undefined unless `selectionId() != ‐1`. | xref:BloombergLP/bdlar/ChoiceRef/objectAddress.adoc[`objectAddress`] | Return a pointer to the wrapped array. | xref:BloombergLP/bdlar/ChoiceRef/reset.adoc[`reset`] | Reset the referred object to the default value. | xref:BloombergLP/bdlar/ChoiceRef/selectionId.adoc[`selectionId`] | Return the id of the current selection if the selection is defined, and ‐1 otherwise. | xref:BloombergLP/bdlar/ChoiceRef/vtable.adoc[`vtable`] | Return a pointer to the vtable. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlar/bdlat_choiceAccessSelection-0305.adoc[`bdlat_choiceAccessSelection`] | Invoke the specified `accessor` on the current selection of the specified `ref`. Return the value from the invocation of `accessor`. | xref:BloombergLP/bdlar/bdlat_choiceHasSelection-03.adoc[`bdlat_choiceHasSelection`] | Return whether the specified `ref` has the selection with the specified `selectionName` and `selectionNameLength`. | xref:BloombergLP/bdlar/bdlat_choiceHasSelection-0c.adoc[`bdlat_choiceHasSelection`] | Return whether the specified `ref` has the selection with the specified `selectionId`. | xref:BloombergLP/bdlar/bdlat_choiceMakeSelection-02.adoc[`bdlat_choiceMakeSelection`] | Make the selection identified by the specified `selectionId` in the specified `ref`. | xref:BloombergLP/bdlar/bdlat_choiceMakeSelection-0d.adoc[`bdlat_choiceMakeSelection`] | Make the selection identified by the specified `selectionName` of the specified `selectionNameLength` in the specified `ref`. | xref:BloombergLP/bdlar/bdlat_choiceManipulateSelection.adoc[`bdlat_choiceManipulateSelection`] | Invoke the specified `manipulator` on the current selection of the specified `ref`. Return the value from the invocation of `manipulator`. | xref:BloombergLP/bdlar/bdlat_choiceSelectionId-0ed.adoc[`bdlat_choiceSelectionId`] | Return the id of the current selection if the selection is defined, and ‐1 otherwise. | xref:BloombergLP/bdlar/bdlat_valueTypeReset-08e.adoc[`bdlat_valueTypeReset`] | Reset the specified `ref` to its default‐constructed state. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#