[#BloombergLP-bdlde-HexDecoder]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlde.adoc[bdlde]::HexDecoder
:relfileprefix: ../../
:mrdocs:

This class implements a mechanism capable of converting data of arbitrary length from its corresponding Hex representation&period;

== Synopsis

Declared in `&lt;bdlde&lowbar;hexdecoder&period;h&gt;`

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlde/HexDecoder/2constructor.adoc[`HexDecoder`]         [.small]#[constructor]#
| Create a Hex decoder in the initial state&period;
| xref:BloombergLP/bdlde/HexDecoder/convert-0e.adoc[`convert`] 
| `convert` overloads
| xref:BloombergLP/bdlde/HexDecoder/endConvert.adoc[`endConvert`] 
| Terminate encoding for this decoder&period; Return 0 on success, and a negative value otherwise&period;
| xref:BloombergLP/bdlde/HexDecoder/isAcceptable.adoc[`isAcceptable`] 
| Return `true` if the input read so far by this decoder is considered syntactically complete and all resulting output has been emitted&semi; return `false` otherwise&period; Note that there must not be any unprocessed characters accumulated in the input buffer of this decoder&period;
| xref:BloombergLP/bdlde/HexDecoder/isDone.adoc[`isDone`] 
| Return `true` if this decoder is in the done state (i&period;e&period;, `endConvert` has been called and any additional input will result in an error), and if there is no pending output&semi; return `false` otherwise&period;
| xref:BloombergLP/bdlde/HexDecoder/isError.adoc[`isError`] 
| Return `true` if this decoder has encountered an irrecoverable error and `false` otherwise&period; An irrecoverable error is one for which there is no subsequent possibility of achieving an &quot;acceptable&quot; result (as defined by the `isAcceptable` method)&period;
| xref:BloombergLP/bdlde/HexDecoder/isInitialState.adoc[`isInitialState`] 
| Return `true` if this decoder is in the initial state (i&period;e&period;, as if no input had been consumed) and `false` otherwise&period;
| xref:BloombergLP/bdlde/HexDecoder/isMaximal.adoc[`isMaximal`] 
| Return `true` if the input to this decoder is maximal (i&period;e&period;, the input contains an end&hyphen;of&hyphen;input sentinel, signaling that no further input should be expected)&period; _Always_ returns `false` for Hex decoders since the encoding scheme does not specify an end&hyphen;of&hyphen;input sentinel&period;
| xref:BloombergLP/bdlde/HexDecoder/outputLength.adoc[`outputLength`] 
| Return the total length of the output emitted by this decoder (possibly after several calls to the `convert` or the `input` methods) since its initial construction or the latest `reset`&period;
| xref:BloombergLP/bdlde/HexDecoder/reset.adoc[`reset`] 
| Reset this decoder to its initial state (i&period;e&period;, as if no input had been consumed)&period;
|===



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