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

Test type `EncoderTestChoiceWithAllCategoriesChoice` 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 EncoderTestChoiceWithAllCategoriesChoice;
----

== Enums

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


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/2constructor-0c.adoc[`EncoderTestChoiceWithAllCategoriesChoice`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/2destructor.adoc[`&#126;EncoderTestChoiceWithAllCategoriesChoice`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/operator_assign-0e.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/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/EncoderTestChoiceWithAllCategoriesChoice/isSelection0Value.adoc[`isSelection0Value`] 
| Return &apos;true&apos; if the value of this object is a &quot;Selection0&quot; value, and return &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/isUndefinedValue.adoc[`isUndefinedValue`] 
| Return &apos;true&apos; if the value of this object is undefined, and &apos;false&apos; otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/makeSelection-0e.adoc[`makeSelection`] 
| `makeSelection` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/makeSelection0-0f.adoc[`makeSelection0`] 
| `makeSelection0` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/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/EncoderTestChoiceWithAllCategoriesChoice/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/EncoderTestChoiceWithAllCategoriesChoice/reset.adoc[`reset`] 
| Reset this object to the default value (i&period;e&period;, its value upon default construction)&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/selection0-05.adoc[`selection0`] 
| `selection0` overloads
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/selectionId.adoc[`selectionId`] 
| Return the id of the current selection if the selection is defined, and &hyphen;1 otherwise&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/selectionName.adoc[`selectionName`] 
| Return the symbolic name of the current selection of this object&period;
|===


== Static Member Functions

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


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/d_selection0.adoc[`d&lowbar;selection0`] [.small]#[variant member]#
| Storage for the active selection (`d&lowbar;selection0`)&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/CLASS_NAME.adoc[`CLASS&lowbar;NAME`] 
| Name of this class&period;
| xref:BloombergLP/baljsn/EncoderTestChoiceWithAllCategoriesChoice/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-02b.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;EncoderTestChoiceWithAllCategoriesChoice&apos;&period;
| `xref:BloombergLP/baljsn/operator_lshift-0b4.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-02c.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-02f.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;EncoderTestChoiceWithAllCategoriesChoice&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]#
