[#BloombergLP-balber-BerDecoder_Node]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balber.adoc[balber]::BerDecoder&lowbar;Node
:relfileprefix: ../../
:mrdocs:

This class provides current context for BER decoding process and represents a node for BER element&period;

== Synopsis

Declared in `&lt;balber&lowbar;berdecoder&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class BerDecoder&lowbar;Node;
----

== Description

The BER element consists of element tag, length field, body field and optional end of tag&period; The class also provides various methods to read the different parts of BER element such as tag header (tag itself and length fields), body for any type of data, and optional tag trailer&period;

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerDecoder_Node/2constructor-03.adoc[`BerDecoder&lowbar;Node`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/balber/BerDecoder_Node/2destructor.adoc[`&#126;BerDecoder&lowbar;Node`] [.small]#[destructor]#
| Destroy this decoder node&period;
| xref:BloombergLP/balber/BerDecoder_Node/fieldName.adoc[`fieldName`] 
| Return field name for this node&period;
| xref:BloombergLP/balber/BerDecoder_Node/formattingMode.adoc[`formattingMode`] 
| Return formatting mode for this node&period;
| xref:BloombergLP/balber/BerDecoder_Node/hasMore.adoc[`hasMore`] 
| Return `true` if current node has more embedded elements and return `false` otherwise&period;
| xref:BloombergLP/balber/BerDecoder_Node/length.adoc[`length`] 
| Return expected length of the body or &hyphen;1 when the length is indefinite&period;
| xref:BloombergLP/balber/BerDecoder_Node/logError.adoc[`logError`] 
| Log a decode error for this node and return a non&hyphen;zero value&period;
| xref:BloombergLP/balber/BerDecoder_Node/operator_call-0b.adoc[`operator()`] 
| Function call operators
| xref:BloombergLP/balber/BerDecoder_Node/parent.adoc[`parent`] 
| Return the address of the parent node&period;
| xref:BloombergLP/balber/BerDecoder_Node/print.adoc[`print`] 
| Print this node to the specified `out` stream&period;
| xref:BloombergLP/balber/BerDecoder_Node/printStack.adoc[`printStack`] 
| Print the chain of nodes to the specified `out` stream, starting from this node and iterating to the parent node, then its parent, etc&period;
| xref:BloombergLP/balber/BerDecoder_Node/readTagHeader.adoc[`readTagHeader`] 
| Read the node tag field containing tag class, tag type and tag number, and the node length field&period; Return zero on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balber/BerDecoder_Node/readTagTrailer.adoc[`readTagTrailer`] 
| Read the node end&hyphen;of&hyphen;octets field, if present&period;
| xref:BloombergLP/balber/BerDecoder_Node/readVectorChar.adoc[`readVectorChar`] 
| Load the node body content into the specified `variable`&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balber/BerDecoder_Node/readVectorUnsignedChar.adoc[`readVectorUnsignedChar`] 
| Load the node body content into the specified `variable`&period; Return 0 on success, and a non&hyphen;zero value otherwise&period;
| xref:BloombergLP/balber/BerDecoder_Node/setFieldName.adoc[`setFieldName`] 
| Set the object field name associated with this node to the specified `name`&period;
| xref:BloombergLP/balber/BerDecoder_Node/setFormattingMode.adoc[`setFormattingMode`] 
| Set the formatting mode to the specified `formattingMode`&period;
| xref:BloombergLP/balber/BerDecoder_Node/skipField.adoc[`skipField`] 
| Skip the field body of the current node&period;
| xref:BloombergLP/balber/BerDecoder_Node/startPos.adoc[`startPos`] 
| Return the position of node tag from the beginning of input stream&period;
| xref:BloombergLP/balber/BerDecoder_Node/tagClass.adoc[`tagClass`] 
| Return the BER tag class for this node&period;
| xref:BloombergLP/balber/BerDecoder_Node/tagNumber.adoc[`tagNumber`] 
| Return the BER tag number for this node&period;
| xref:BloombergLP/balber/BerDecoder_Node/tagType.adoc[`tagType`] 
| Return the BER tag type for this node&period;
|===



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