[#BloombergLP-balxml-Decoder] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::Decoder :relfileprefix: ../../ :mrdocs: Engine for decoding value‐semantic objects in XML format. The `decode` methods are function templates that will decode any object that meets the requirements of a sequence or choice object as defined in the `bdlat_sequencefunctions` and `bdlat_choicefunctions` components. These generic frameworks provide a common compile‐time interface for manipulating struct‐like and union‐like objects. == Synopsis Declared in `<balxml_decoder.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class Decoder; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balxml/Decoder/2constructor-0ec.adoc[`Decoder`] [.small]#[constructor]# | Constructors | xref:BloombergLP/balxml/Decoder/2destructor.adoc[`~Decoder`] [.small]#[destructor]# | Call `close` and destroy this object. | xref:BloombergLP/balxml/Decoder/close.adoc[`close`] | Put the associated `Reader` object (i.e., the `reader` specified at construction) into a closed state. | xref:BloombergLP/balxml/Decoder/decode-04.adoc[`decode`] | `decode` overloads | xref:BloombergLP/balxml/Decoder/decodeAny-01.adoc[`decodeAny`] | `decodeAny` overloads | xref:BloombergLP/balxml/Decoder/errorCount.adoc[`errorCount`] | Return the number of errors that occurred during decoding. This number is reset to zero on a call to `open`. | xref:BloombergLP/balxml/Decoder/errorInfo.adoc[`errorInfo`] | Return a pointer to the modifiable error‐reporting structure associated with this decoder (i.e., the `errInfo` pointer provided at construction). The value stored in the error structure is reset to indicate no error on a successful call to `open`. | xref:BloombergLP/balxml/Decoder/errorSeverity.adoc[`errorSeverity`] | Return the severity of the most severe warning or error encountered during the last call to the `decode` method. The severity is reset each time `decode` is called. | xref:BloombergLP/balxml/Decoder/errorStream.adoc[`errorStream`] | Return pointer to the error stream. | xref:BloombergLP/balxml/Decoder/loggedMessages.adoc[`loggedMessages`] | Return a string containing any error, warning, or trace messages that were logged during the last call to the `decode` method. The log is reset each time `decode` is called. | xref:BloombergLP/balxml/Decoder/numUnknownElementsSkipped.adoc[`numUnknownElementsSkipped`] | Return the number of unknown elements that were skipped during the previous decoding operation. Note that unknown elements are skipped only if `true == options()‐>skipUnknownElements()`. | xref:BloombergLP/balxml/Decoder/open-03.adoc[`open`] | `open` overloads | xref:BloombergLP/balxml/Decoder/options.adoc[`options`] | Return a pointer to the non‐modifiable decoder options provided at construction. | xref:BloombergLP/balxml/Decoder/reader.adoc[`reader`] | Return the a pointer to the modifiable reader associated with this decoder (i.e., the `reader` pointer provided at construction). | xref:BloombergLP/balxml/Decoder/setNumUnknownElementsSkipped.adoc[`setNumUnknownElementsSkipped`] | Set the number of unknown elements skipped by the decoder during the current decoding operation to the specified `value`. The behavior is undefined unless `0 <= value`. | xref:BloombergLP/balxml/Decoder/warningCount.adoc[`warningCount`] | Return the number of warnings that occurred during decoding. This number is reset to zero on a call to `open`. | xref:BloombergLP/balxml/Decoder/warningStream.adoc[`warningStream`] | Return pointer to the warning stream. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/balxml/Decoder_ParseObject.adoc[BloombergLP::balxml::Decoder_ParseObject]` | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | `xref:BloombergLP/balxml/Decoder_ErrorLogger.adoc[BloombergLP::balxml::Decoder_ErrorLogger]` | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | `xref:BloombergLP/balxml/Decoder_decodeImpProxy.adoc[BloombergLP::balxml::Decoder_decodeImpProxy]` | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. | `xref:BloombergLP/balxml/Decoder_ElementContext.adoc[BloombergLP::balxml::Decoder_ElementContext]` | COMPONENT‐PRIVATE CLASS. DO NOT USE OUTSIDE OF THIS COMPONENT. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#