[#BloombergLP-baljsn-EncoderTestChoiceWithAllCategories]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::EncoderTestChoiceWithAllCategories
:relfileprefix: ../../
:mrdocs:

Test type `EncoderTestChoiceWithAllCategories` used by `baljsn` encoder tests&period;

== Synopsis

Declared in `&lt;baljsn&lowbar;encoder&lowbar;testtypes&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class EncoderTestChoiceWithAllCategories;
----

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/_04enum-08.adoc[`Unnamed enum`] 
| Selection identifier constants&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/_04enum-0c.adoc[`Unnamed enum`] 
| Number of selections&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/_04enum-02.adoc[`Unnamed enum`] 
| Selection index constants&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/2constructor-085.adoc[`EncoderTestChoiceWithAllCategories`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/2destructor.adoc[`&#126;EncoderTestChoiceWithAllCategories`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/operator_assign-02.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/accessSelection.adoc[`accessSelection`] 
| Invoke the specified &apos;accessor&apos; on the non&hyphen;modifiable selection, supplying &apos;accessor&apos; with the corresponding selection information structure&period; Return the value returned from the invocation of &apos;accessor&apos; if this object has a defined selection, and &hyphen;1 otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/charArray-0d.adoc[`charArray`] 
| `charArray` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/choice-0a.adoc[`choice`] 
| `choice` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/customizedType-05.adoc[`customizedType`] 
| `customizedType` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/enumeration-0b.adoc[`enumeration`] 
| `enumeration` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isCharArrayValue.adoc[`isCharArrayValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;CharArray&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isChoiceValue.adoc[`isChoiceValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;Choice&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isCustomizedTypeValue.adoc[`isCustomizedTypeValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;CustomizedType&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isEnumerationValue.adoc[`isEnumerationValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;Enumeration&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isSequenceValue.adoc[`isSequenceValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;Sequence&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isSimpleValue.adoc[`isSimpleValue`] 
| Return &apos;true&apos; if the value of this object is a &quot;Simple&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/isUndefinedValue.adoc[`isUndefinedValue`] 
| Return &apos;true&apos; if the value of this object is undefined, and &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeCharArray-0f7.adoc[`makeCharArray`] 
| `makeCharArray` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeChoice-0e.adoc[`makeChoice`] 
| `makeChoice` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeCustomizedType-0b.adoc[`makeCustomizedType`] 
| `makeCustomizedType` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeEnumeration-03.adoc[`makeEnumeration`] 
| `makeEnumeration` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeSelection-03.adoc[`makeSelection`] 
| `makeSelection` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeSequence-05c.adoc[`makeSequence`] 
| `makeSequence` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/makeSimple-02.adoc[`makeSimple`] 
| `makeSimple` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/manipulateSelection.adoc[`manipulateSelection`] 
| Invoke the specified &apos;manipulator&apos; on the address of the modifiable selection, supplying &apos;manipulator&apos; with the corresponding selection information structure&period; Return the value returned from the invocation of &apos;manipulator&apos; if this object has a defined selection, and &hyphen;1 otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/print.adoc[`print`] 
| Format this object to the specified output &apos;stream&apos; at the optionally specified indentation &apos;level&apos; and return a reference to the modifiable &apos;stream&apos;&period; If &apos;level&apos; is specified, optionally specify &apos;spacesPerLevel&apos;, the number of spaces per indentation level for this and all of its nested objects&period; Each line is indented by the absolute value of &apos;level &ast; spacesPerLevel&apos;&period; If &apos;level&apos; is negative, suppress indentation of the first line&period; If &apos;spacesPerLevel&apos; is negative, suppress line breaks and format the entire output on one line&period; If &apos;stream&apos; is initially invalid, this operation has no effect&period; Note that a trailing newline is provided in multiline mode only&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/reset.adoc[`reset`] 
| Reset this object to the default value (i&period;e&period;, its value upon default construction)&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/selectionId.adoc[`selectionId`] 
| Return the id of the current selection if the selection is defined, and &hyphen;1 otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/selectionName.adoc[`selectionName`] 
| Return the symbolic name of the current selection of this object&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/sequence-022.adoc[`sequence`] 
| `sequence` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/simple-03.adoc[`simple`] 
| `simple` overloads
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/lookupSelectionInfo-01.adoc[`lookupSelectionInfo`] 
| `lookupSelectionInfo` overloads
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_charArray.adoc[`d&lowbar;charArray`] [.small]#[variant member]#
| Storage for the `charArray` selection value&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_choice.adoc[`d&lowbar;choice`] [.small]#[variant member]#
| The `d&lowbar;choice` data member&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_customizedType.adoc[`d&lowbar;customizedType`] [.small]#[variant member]#
| The `d&lowbar;customizedType` data member&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_enumeration.adoc[`d&lowbar;enumeration`] [.small]#[variant member]#
| The `d&lowbar;enumeration` data member&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_sequence.adoc[`d&lowbar;sequence`] [.small]#[variant member]#
| Storage for the active selection (`d&lowbar;sequence`)&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/d_simple.adoc[`d&lowbar;simple`] [.small]#[variant member]#
| Storage for the simple selection value&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/CLASS_NAME.adoc[`CLASS&lowbar;NAME`] 
| Name of this class&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategories/SELECTION_INFO_ARRAY.adoc[`SELECTION&lowbar;INFO&lowbar;ARRAY`] 
| Selection metadata for this choice type&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/baljsn/hashAppend-034.adoc[BloombergLP::baljsn::hashAppend]`
| Pass the specified &apos;object&apos; to the specified &apos;hashAlg&apos;&period; This function integrates with the &apos;bslh&apos; modular hashing system and effectively provides a &apos;bsl&colon;&colon;hash&apos; specialization for &apos;EncoderTestChoiceWithAllCategories&apos;&period;
| `xref:BloombergLP/baljsn/operator_lshift-036.adoc[BloombergLP::baljsn::operator&lt;&lt;]`
| Format the specified &apos;rhs&apos; to the specified output &apos;stream&apos; and return a reference to the modifiable &apos;stream&apos;&period;
| `xref:BloombergLP/baljsn/operator_not_eq-03e.adoc[BloombergLP::baljsn::operator!&equals;]`
| Return &apos;true&apos; if the specified &apos;lhs&apos; and &apos;rhs&apos; objects do not have the same values, as determined by &apos;operator&equals;&equals;&apos;, and &apos;false&apos; otherwise&period;
| `xref:BloombergLP/baljsn/operator_eq-0f8.adoc[BloombergLP::baljsn::operator&equals;&equals;]`
| Return &apos;true&apos; if the specified &apos;lhs&apos; and &apos;rhs&apos; objects have the same value, and &apos;false&apos; otherwise&period; Two &apos;EncoderTestChoiceWithAllCategories&apos; objects have the same value if either the selections in both objects have the same ids and the same values, or both selections are undefined&period;
|===


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