BloombergLP::balber::BerUtil_StringImpUtil::getStringValue

Decode a BER character string into a bsl::string.

Synopsis

Declared in <balber_berutil.h>

static
int
getStringValue(
    bsl::string* value,
    std::streambuf* streamBuf,
    int length,
    BerDecoderOptions const& options);

Description

bytes as the value of the contents octets of a BER-encoded character string (more specifically, an unrestricted character string) according to the specification, unless an alternate value is indicated by the specified options, in which case, the alternate value is loaded. If the DefaultEmptyStrings attribute of the options is true and the witnessed BER-encoded character string represents the empty string value, the alternate value is the current *value, otherwise there is no alternate value. Return 0 if successful, and a non-zero value otherwise. The operation succeeds if length bytes are successfully read from the input sequence of the streamBuf without the read position becoming unavailable, and the bytes read contain a valid representation of the contents octets of a character string value according to the specification.

Return Value

0 on success, and a non-zero value otherwise

Parameters

NameDescription
valuedestination for the decoded value
streamBufinput stream buffer
lengthnumber of content octets
optionsdecoder options controlling decoding behavior