[#BloombergLP-balxml-Decoder_StdStringContext]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balxml.adoc[balxml]::Decoder&lowbar;StdStringContext
:relfileprefix: ../../
:mrdocs:

COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;

== Synopsis

Declared in `&lt;balxml&lowbar;decoder&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Decoder&lowbar;StdStringContext
    : public xref:BloombergLP/balxml/Decoder_ElementContext.adoc[Decoder&lowbar;ElementContext]
----

== Description

Proxy context for `bsl&colon;&colon;string`&period; This is just a proxy context&period; It will forward all callbacks to the appropriate context, based on the formatting mode&period;

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/balxml/Decoder_ElementContext.adoc[Decoder&lowbar;ElementContext]`
| COMPONENT&hyphen;PRIVATE CLASS&period; DO NOT USE OUTSIDE OF THIS COMPONENT&period;
|===

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_StdStringContext/Base64Context.adoc[`Base64Context`] 
| Context type for base64&hyphen;encoded string parsing&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/HexContext.adoc[`HexContext`] 
| Context type for hex&hyphen;encoded string parsing&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/UTF8Context.adoc[`UTF8Context`] 
| Context type for UTF&hyphen;8 string parsing&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_StdStringContext/2constructor.adoc[`Decoder&lowbar;StdStringContext`]         [.small]#[constructor]#
| Create a proxy context for decoding a `bsl&colon;&colon;string` using the specified `formattingMode`&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/2destructor.adoc[`&#126;Decoder&lowbar;StdStringContext`] [.small]#[destructor]# [.small]#[virtual]#
| Destroy this string parsing context&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/addCharacters.adoc[`addCharacters`]  [.small]#[virtual]#
| Process the specified character data `chars` of the specified `length` while decoding a `bsl&colon;&colon;string` element&period; Return 0 on success and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balxml/Decoder_ElementContext/beginParse.adoc[`beginParse`] 
| Invoked when the decoder begins parsing&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/endElement.adoc[`endElement`]  [.small]#[virtual]#
| Invoked when the decoder finishes parsing an element&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/parseAttribute.adoc[`parseAttribute`]  [.small]#[virtual]#
| Invoked when the decoder encounters an attribute&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/parseSubElement.adoc[`parseSubElement`]  [.small]#[virtual]#
| Invoked when the decoder encounters a sub&hyphen;element&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/startElement.adoc[`startElement`]  [.small]#[virtual]#
| Invoked when the decoder begins parsing an element&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balxml/Decoder_StdStringContext/d_base64Context.adoc[`d&lowbar;base64Context`] [.small]#[variant member]#
| Active base64 parser context storage&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/d_hexContext.adoc[`d&lowbar;hexContext`] [.small]#[variant member]#
| Active hex parser context storage&period;
| xref:BloombergLP/balxml/Decoder_StdStringContext/d_utf8Context.adoc[`d&lowbar;utf8Context`] [.small]#[variant member]#
| Active UTF&hyphen;8 parser context storage&period;
|===



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