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

Options for controlling the JSON decoding process&period;

== Synopsis

Declared in `&lt;baljsn&lowbar;decoderoptions&period;h&gt;`

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

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/DecoderOptions/_04enum-0c.adoc[`Unnamed enum`] 
| Attribute identifier constants&period;
| xref:BloombergLP/baljsn/DecoderOptions/_04enum-02.adoc[`Unnamed enum`] 
| Attribute count constant&period;
| xref:BloombergLP/baljsn/DecoderOptions/_04enum-07.adoc[`Unnamed enum`] 
| Attribute index constants&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/DecoderOptions/2constructor-0a.adoc[`DecoderOptions`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/baljsn/DecoderOptions/2destructor.adoc[`&#126;DecoderOptions`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/operator_assign-02.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/baljsn/DecoderOptions/accessAttribute-00.adoc[`accessAttribute`] 
| `accessAttribute` overloads
| xref:BloombergLP/baljsn/DecoderOptions/accessAttributes.adoc[`accessAttributes`] 
| Invoke the specified `accessor` sequentially on each (non&hyphen;modifiable) attribute of this object, supplying `accessor` with the corresponding attribute information structure until such invocation returns a non&hyphen;zero value&period; Return the value from the last invocation of `accessor` (i&period;e&period;, the invocation that terminated the sequence)&period;
| xref:BloombergLP/baljsn/DecoderOptions/allowConsecutiveSeparators.adoc[`allowConsecutiveSeparators`] 
| Return the value of the &quot;AllowConsecutiveSeparators&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/allowFormFeedAsWhitespace.adoc[`allowFormFeedAsWhitespace`] 
| Return the value of the &quot;AllowFormFeedAsWhitespace&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/allowMissingRequiredAttributes.adoc[`allowMissingRequiredAttributes`] 
| Return the value of the &quot;AllowMissingRequiredAttributes&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/allowUnescapedControlCharacters.adoc[`allowUnescapedControlCharacters`] 
| Return the value of the &quot;AllowUnescapedControlCharacters&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/manipulateAttribute-07.adoc[`manipulateAttribute`] 
| `manipulateAttribute` overloads
| xref:BloombergLP/baljsn/DecoderOptions/manipulateAttributes.adoc[`manipulateAttributes`] 
| Invoke the specified `manipulator` sequentially on the address of each (modifiable) attribute of this object, supplying `manipulator` with the corresponding attribute information structure until such invocation returns a non&hyphen;zero value&period; Return the value from the last invocation of `manipulator` (i&period;e&period;, the invocation that terminated the sequence)&period;
| xref:BloombergLP/baljsn/DecoderOptions/maxDepth.adoc[`maxDepth`] 
| Return the value of the &quot;MaxDepth&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/print.adoc[`print`] 
| Format this object to the specified output `stream` at the optionally specified indentation `level` and return a reference to the modifiable `stream`&period; If `level` is specified, optionally specify `spacesPerLevel`, 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 `level &ast; spacesPerLevel`&period; If `level` is negative, suppress indentation of the first line&period; If `spacesPerLevel` is negative, suppress line breaks and format the entire output on one line&period; If `stream` is initially invalid, this operation has no effect&period; Note that a trailing newline is provided in multiline mode only&period;
| xref:BloombergLP/baljsn/DecoderOptions/reset.adoc[`reset`] 
| Reset this object to the default value (i&period;e&period;, its value upon default construction)&period;
| xref:BloombergLP/baljsn/DecoderOptions/setAllowConsecutiveSeparators.adoc[`setAllowConsecutiveSeparators`] 
| Set the &quot;AllowConsecutiveSeparators&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setAllowFormFeedAsWhitespace.adoc[`setAllowFormFeedAsWhitespace`] 
| Set the &quot;AllowFormFeedAsWhitespace&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setAllowMissingRequiredAttributes.adoc[`setAllowMissingRequiredAttributes`] 
| Set &quot;AllowMissingRequiredAttributes&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setAllowUnescapedControlCharacters.adoc[`setAllowUnescapedControlCharacters`] 
| Set the &quot;AllowUnescapedControlCharacters&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setMaxDepth.adoc[`setMaxDepth`] 
| Set the &quot;MaxDepth&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setSkipUnknownElements.adoc[`setSkipUnknownElements`] 
| Set the &quot;SkipUnknownElements&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/setValidateInputIsUtf8.adoc[`setValidateInputIsUtf8`] 
| Set the &quot;ValidateInputIsUtf8&quot; attribute of this object to the specified `value`&period;
| xref:BloombergLP/baljsn/DecoderOptions/skipUnknownElements.adoc[`skipUnknownElements`] 
| Return the value of the &quot;SkipUnknownElements&quot; attribute of this object&period;
| xref:BloombergLP/baljsn/DecoderOptions/validateInputIsUtf8.adoc[`validateInputIsUtf8`] 
| Return the value of the &quot;ValidateInputIsUtf8&quot; attribute of this object&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/DecoderOptions/lookupAttributeInfo-00.adoc[`lookupAttributeInfo`] 
| `lookupAttributeInfo` overloads
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/baljsn/DecoderOptions/ATTRIBUTE_INFO_ARRAY.adoc[`ATTRIBUTE&lowbar;INFO&lowbar;ARRAY`] 
| Attribute metadata for this options type&period;
| xref:BloombergLP/baljsn/DecoderOptions/CLASS_NAME.adoc[`CLASS&lowbar;NAME`] 
| Name of this class&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;ALLOW&lowbar;CONSECUTIVE&lowbar;SEPARATORS`] 
| Default value for the `allowConsecutiveSeparators` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;ALLOW&lowbar;FORM&lowbar;FEED&lowbar;AS&lowbar;WHITESPACE`] 
| Default value for the `allowFormFeedAsWhitespace` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_MISSING_REQUIRED_ATTRIBUTES.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;ALLOW&lowbar;MISSING&lowbar;REQUIRED&lowbar;ATTRIBUTES`] 
| Default value for the `allowMissingRequiredAttributes` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;ALLOW&lowbar;UNESCAPED&lowbar;CONTROL&lowbar;CHARACTERS`] 
| Default value for the `allowUnescapedControlCharacters` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_MAX_DEPTH.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;MAX&lowbar;DEPTH`] 
| Default value for the `maxDepth` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;SKIP&lowbar;UNKNOWN&lowbar;ELEMENTS`] 
| Default value for the `skipUnknownElements` attribute&period;
| xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8.adoc[`DEFAULT&lowbar;INITIALIZER&lowbar;VALIDATE&lowbar;INPUT&lowbar;IS&lowbar;UTF8`] 
| Default value for the `validateInputIsUtf8` attribute&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/baljsn/hashAppend-0ed.adoc[BloombergLP::baljsn::hashAppend]`
| Pass the specified `object` to the specified `hashAlg`&period; This function integrates with the `bslh` modular hashing system and effectively provides a `bsl&colon;&colon;hash` specialization for `DecoderOptions`&period;
| `xref:BloombergLP/baljsn/operator_lshift-045.adoc[BloombergLP::baljsn::operator&lt;&lt;]`
| Format the specified `rhs` to the specified output `stream` and return a reference to the modifiable `stream`&period;
| `xref:BloombergLP/baljsn/operator_not_eq-081.adoc[BloombergLP::baljsn::operator!&equals;]`
| Returns `!(lhs &equals;&equals; rhs)`
| `xref:BloombergLP/baljsn/operator_eq-02d.adoc[BloombergLP::baljsn::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` attribute objects have the same value, and `false` otherwise&period; Two attribute objects have the same value if each respective attribute has the same value&period;
|===


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