BloombergLP::bdlde::Base64Decoder::convert

convert overloads

Synopses

Declared in <bdlde_base64decoder.h>

Decode the sequence of input characters starting at the specified begin position up to, but not including, the specified end position, writing any resulting output characters to the specified out buffer. Optionally specify the maxNumOut limit on the number of bytes to output; if maxNumOut is negative, no limit is imposed. If the 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 a non-negative value on success, -1 on an input error, and -2 if the endConvert method has already been called without an intervening resetState call. A return status of -1 indicates that the data at begin + numIn constitutes an irrecoverably undecodable input sequence (i.e., the data cannot be extended to form any valid encoding). A positive return status indicates the number of valid processed output bytes retained by this decoder and not written to out because maxNumOut has been reached; these bytes are available for output if this method is called with appropriate input. Note that it is recommended that after all calls to convert are finished, the endConvert method be called to complete the encoding of any unprocessed input characters that do not complete a 3-byte sequence.

template<
    class OUTPUT_ITERATOR,
    class INPUT_ITERATOR>
int
convert(
    OUTPUT_ITERATOR out,
    INPUT_ITERATOR begin,
    INPUT_ITERATOR end);
» more...

Decode Base64 input from the range [begin, end)] and write the resulting bytes to the specified out buffer. Load into the optionally specified numOut and numIn the number of output bytes produced and input bytes consumed, respectively. Optionally specify maxNumOut as the limit on the number of bytes to output. Return a non-negative value on success and a negative value otherwise.

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);
» more...
template<>
int
convert<char*, char const*>(
    char* out,
    int* numOut,
    int* numIn,
    char const* begin,
    char const* end,
    int maxNumOut = -1);
» more...
template<>
int
convert<unsigned char*, unsigned char const*>(
    unsigned char* out,
    int* numOut,
    int* numIn,
    unsigned char const* begin,
    unsigned char const* end,
    int maxNumOut = -1);
» more...