[#BloombergLP-baljsn-DecoderOptions] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/baljsn.adoc[baljsn]::DecoderOptions :relfileprefix: ../../ :mrdocs: Options for controlling the JSON decoding process. == Synopsis Declared in `<baljsn_decoderoptions.h>` [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. | xref:BloombergLP/baljsn/DecoderOptions/_04enum-02.adoc[`Unnamed enum`] | Attribute count constant. | xref:BloombergLP/baljsn/DecoderOptions/_04enum-07.adoc[`Unnamed enum`] | Attribute index constants. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/baljsn/DecoderOptions/2constructor-0a.adoc[`DecoderOptions`] [.small]#[constructor]# | Constructors | xref:BloombergLP/baljsn/DecoderOptions/2destructor.adoc[`~DecoderOptions`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/baljsn/DecoderOptions/operator_assign-02.adoc[`operator=`] | 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‐modifiable) attribute of this object, supplying `accessor` with the corresponding attribute information structure until such invocation returns a non‐zero value. Return the value from the last invocation of `accessor` (i.e., the invocation that terminated the sequence). | xref:BloombergLP/baljsn/DecoderOptions/allowConsecutiveSeparators.adoc[`allowConsecutiveSeparators`] | Return the value of the "AllowConsecutiveSeparators" attribute of this object. | xref:BloombergLP/baljsn/DecoderOptions/allowFormFeedAsWhitespace.adoc[`allowFormFeedAsWhitespace`] | Return the value of the "AllowFormFeedAsWhitespace" attribute of this object. | xref:BloombergLP/baljsn/DecoderOptions/allowMissingRequiredAttributes.adoc[`allowMissingRequiredAttributes`] | Return the value of the "AllowMissingRequiredAttributes" attribute of this object. | xref:BloombergLP/baljsn/DecoderOptions/allowUnescapedControlCharacters.adoc[`allowUnescapedControlCharacters`] | Return the value of the "AllowUnescapedControlCharacters" attribute of this object. | 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‐zero value. Return the value from the last invocation of `manipulator` (i.e., the invocation that terminated the sequence). | xref:BloombergLP/baljsn/DecoderOptions/maxDepth.adoc[`maxDepth`] | Return the value of the "MaxDepth" attribute of this object. | 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`. If `level` is specified, optionally specify `spacesPerLevel`, the number of spaces per indentation level for this and all of its nested objects. Each line is indented by the absolute value of `level * spacesPerLevel`. If `level` is negative, suppress indentation of the first line. If `spacesPerLevel` is negative, suppress line breaks and format the entire output on one line. If `stream` is initially invalid, this operation has no effect. Note that a trailing newline is provided in multiline mode only. | xref:BloombergLP/baljsn/DecoderOptions/reset.adoc[`reset`] | Reset this object to the default value (i.e., its value upon default construction). | xref:BloombergLP/baljsn/DecoderOptions/setAllowConsecutiveSeparators.adoc[`setAllowConsecutiveSeparators`] | Set the "AllowConsecutiveSeparators" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setAllowFormFeedAsWhitespace.adoc[`setAllowFormFeedAsWhitespace`] | Set the "AllowFormFeedAsWhitespace" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setAllowMissingRequiredAttributes.adoc[`setAllowMissingRequiredAttributes`] | Set "AllowMissingRequiredAttributes" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setAllowUnescapedControlCharacters.adoc[`setAllowUnescapedControlCharacters`] | Set the "AllowUnescapedControlCharacters" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setMaxDepth.adoc[`setMaxDepth`] | Set the "MaxDepth" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setSkipUnknownElements.adoc[`setSkipUnknownElements`] | Set the "SkipUnknownElements" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/setValidateInputIsUtf8.adoc[`setValidateInputIsUtf8`] | Set the "ValidateInputIsUtf8" attribute of this object to the specified `value`. | xref:BloombergLP/baljsn/DecoderOptions/skipUnknownElements.adoc[`skipUnknownElements`] | Return the value of the "SkipUnknownElements" attribute of this object. | xref:BloombergLP/baljsn/DecoderOptions/validateInputIsUtf8.adoc[`validateInputIsUtf8`] | Return the value of the "ValidateInputIsUtf8" attribute of this object. |=== == 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_INFO_ARRAY`] | Attribute metadata for this options type. | xref:BloombergLP/baljsn/DecoderOptions/CLASS_NAME.adoc[`CLASS_NAME`] | Name of this class. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS.adoc[`DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS`] | Default value for the `allowConsecutiveSeparators` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE.adoc[`DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE`] | Default value for the `allowFormFeedAsWhitespace` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_MISSING_REQUIRED_ATTRIBUTES.adoc[`DEFAULT_INITIALIZER_ALLOW_MISSING_REQUIRED_ATTRIBUTES`] | Default value for the `allowMissingRequiredAttributes` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS.adoc[`DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS`] | Default value for the `allowUnescapedControlCharacters` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_MAX_DEPTH.adoc[`DEFAULT_INITIALIZER_MAX_DEPTH`] | Default value for the `maxDepth` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS.adoc[`DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS`] | Default value for the `skipUnknownElements` attribute. | xref:BloombergLP/baljsn/DecoderOptions/DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8.adoc[`DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8`] | Default value for the `validateInputIsUtf8` attribute. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/baljsn/hashAppend-0ed.adoc[BloombergLP::baljsn::hashAppend]` | Pass the specified `object` to the specified `hashAlg`. This function integrates with the `bslh` modular hashing system and effectively provides a `bsl::hash` specialization for `DecoderOptions`. | `xref:BloombergLP/baljsn/operator_lshift-045.adoc[BloombergLP::baljsn::operator<<]` | Format the specified `rhs` to the specified output `stream` and return a reference to the modifiable `stream`. | `xref:BloombergLP/baljsn/operator_not_eq-081.adoc[BloombergLP::baljsn::operator!=]` | Returns `!(lhs == rhs)` | `xref:BloombergLP/baljsn/operator_eq-02d.adoc[BloombergLP::baljsn::operator==]` | Return `true` if the specified `lhs` and `rhs` attribute objects have the same value, and `false` otherwise. Two attribute objects have the same value if each respective attribute has the same value. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#