Decode hexadecimal input characters into binary output with limits.
Declared in <bdlde_hexdecoder.h>
template<
class OUTPUT_ITERATOR,
class INPUT_ITERATOR>
int
convert(
OUTPUT_ITERATOR out,
int* numOut,
int* numIn,
INPUT_ITERATOR begin,
INPUT_ITERATOR end,
int maxNumOut = -1);
Append to the buffer addressed by the specified out all pending output (if there is any) up to the optionally specified maxNumOut limit (default is negative, meaning no limit). When there is no pending output and the maxNumOut is still not reached, begin to consume and decode a sequence of input characters starting at the specified begin position, up to but not including the specified end position. Any resulting output is written to the out buffer up to the (cumulative) maxNumOut limit. If maxNumOut limit is reached, no further input will be consumed. Load into the (optionally) specified numOut and numIn the number of output bytes produced and input bytes consumed, respectively. Return 0 on success and a negative value otherwise. Note that calling this method after endConvert has been invoked without an intervening reset call will place this instance in an error state, and return an error status.
0 on success, and a negative value otherwise
| Name | Description |
|---|---|
| out | output iterator for decoded bytes |
| numOut | receives the number of output bytes produced |
| numIn | receives the number of input bytes consumed |
| begin | beginning of the input range |
| end | end of the input range (exclusive) |
| maxNumOut | maximum output bytes to emit; negative means no limit |