[#BloombergLP-balber-BerUtil_StringImpUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balber.adoc[balber]::BerUtil_StringImpUtil :relfileprefix: ../../ :mrdocs: This component‐private utility `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER encoding and decoding operations for string values. Within the definition of this `struct`: == Synopsis Declared in `<balber_berutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct BerUtil_StringImpUtil; ---- == Description * *the specification*: > Refers to the August 2015 revision of the ITU‐T Recommendation X.690. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_StringImpUtil/LengthUtil.adoc[`LengthUtil`] | `LengthUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for length quantities. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_StringImpUtil/getStringValue.adoc[`getStringValue`] | Read the specified `length` number of bytes from the input sequence of the specified `streamBuf` and load to the specified `value` the interpretation of those 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. | xref:BloombergLP/balber/BerUtil_StringImpUtil/putChars.adoc[`putChars`] | Write the specified `numChars` number of bytes having the specified `value` to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all `numChars` bytes are written to the `streamBuf` without the write position becoming unavailable. | xref:BloombergLP/balber/BerUtil_StringImpUtil/putRawStringValue.adoc[`putRawStringValue`] | Write the length and contents octets of the BER encoding of the specified byte `string` having the specified `stringLength` (as defined in the specification) to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. | xref:BloombergLP/balber/BerUtil_StringImpUtil/putStringRefValue.adoc[`putStringRefValue`] | Write the length and contents octets of the BER encoding of the specified character string `value` (as defined in the specification) to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. | xref:BloombergLP/balber/BerUtil_StringImpUtil/putStringValue.adoc[`putStringValue`] | Write the length and contents octets of the BER encoding of the specified character string `value` (as defined in the specification) to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. | xref:BloombergLP/balber/BerUtil_StringImpUtil/putStringViewValue.adoc[`putStringViewValue`] | Write the length and contents octets of the BER encoding of the specified character string `value` (as defined in the specification) to the output sequence of the specified `streamBuf`. Return 0 if successful, and a non‐zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the `streamBuf` without the write position becoming unavailable. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#