[#BloombergLP-bdlde-QuotedPrintableDecoder] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlde.adoc[bdlde]::QuotedPrintableDecoder :relfileprefix: ../../ :mrdocs: This class implements a mechanism capable of converting data of arbitrary length from its corresponding Quoted‐Printable representation. == Synopsis Declared in `<bdlde_quotedprintabledecoder.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class QuotedPrintableDecoder; ---- == Enums [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/QuotedPrintableDecoder/EquivalenceClasses.adoc[`EquivalenceClasses`] | Input character equivalence classes used by the decoder state machine. Underscored enumerators apply in strict mode; others apply in relaxed mode where noted. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/LineBreakMode-08.adoc[`LineBreakMode`] | Configuration governing how hard line breaks (`"rn"`) are decoded. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/QuotedPrintableDecoder/2constructor.adoc[`QuotedPrintableDecoder`] [.small]#[constructor]# | Create a Quoted‐Printable decoder in the initial state. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/2destructor.adoc[`~QuotedPrintableDecoder`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/convert.adoc[`convert`] | Decode Quoted‐Printable characters from `[begin, end)]` into `out`. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/endConvert.adoc[`endConvert`] | Complete decoding and flush any retained output to `out`. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isAccepting.adoc[`isAccepting`] | Return whether the input so far is syntactically complete. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isDone.adoc[`isDone`] | Return whether decoding is finished and no further input is allowed. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isError.adoc[`isError`] | Return whether this decoder has encountered an irrecoverable error. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isInitialState.adoc[`isInitialState`] | Return `true` if this decoder is in the initial state (i.e., as if no input had been consumed) and `false` otherwise. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isMaximal.adoc[`isMaximal`] | Return whether the input to this decoder is maximal. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/isUnrecognizedAnError.adoc[`isUnrecognizedAnError`] | Return `true` if this decoder is currently configured to detect an error when an unrecognizable encoding is encountered, and `false` otherwise. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/lineBreakMode-02.adoc[`lineBreakMode`] | Return the line break mode specified for this decoder. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/numOutputPending.adoc[`numOutputPending`] | Return the number of output bytes retained by this decoder and not emitted because `maxNumOut` has been reached. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/outputLength.adoc[`outputLength`] | Return the total length of the output emitted thus far. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/reset.adoc[`reset`] | Reset this decoder to its initial state (i.e., as if no input had been consumed). |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/QuotedPrintableDecoder/lineBreakModeToAscii.adoc[`lineBreakModeToAscii`] | Return the ASCII name of the specified line‐break `mode`. |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_buffer.adoc[`d_buffer`] | Pending input characters awaiting further decoding. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_bufferLength.adoc[`d_bufferLength`] | Number of valid characters currently stored in `d_buffer`. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_equivClass_p.adoc[`d_equivClass_p`] | Map of `unsigned char` to input equivalence class; dynamically allocated because there is no default complete configuration. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_hexBuffer.adoc[`d_hexBuffer`] | First hex digit buffered while decoding an `=XX` escape sequence. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_lineBreakMode.adoc[`d_lineBreakMode`] | How hard line breaks are decoded. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_outputLength.adoc[`d_outputLength`] | Total number of output characters produced so far. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_state.adoc[`d_state`] | Current decoder state‐machine state. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/d_unrecognizedIsErrorFlag.adoc[`d_unrecognizedIsErrorFlag`] | If `true`, unrecognized characters are treated as errors. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_componentName.adoc[`s_componentName`] | Name of component used when reporting errors. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_decodingMap_p.adoc[`s_decodingMap_p`] | Character map used for converting an ASCII character to the hexadecimal value it is representing. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_defaultEquivClassCRLF_p.adoc[`s_defaultEquivClassCRLF_p`] | Default map of `unsigned char` to equivalence class for CRLF line break mode | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_defaultEquivClassStrict_p.adoc[`s_defaultEquivClassStrict_p`] | Default map of `unsigned char` to equivalence class for strict mode | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_defaultMaxLineLength.adoc[`s_defaultMaxLineLength`] | Default maximum line length used when configuring the decoder. | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_defaultUnrecognizedIsErrorFlag.adoc[`s_defaultUnrecognizedIsErrorFlag`] | Default error reporting mode | xref:BloombergLP/bdlde/QuotedPrintableDecoder/s_lineBreakModeName.adoc[`s_lineBreakModeName`] | ASCII names corresponding to `LineBreakMode` enumerators. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#