[#BloombergLP-balber]
= xref:BloombergLP.adoc[BloombergLP]::balber
:relfileprefix: ../
:mrdocs:

Package namespace for BER encoding and decoding components&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/BerConstants.adoc[`BerConstants`] 
| This `struct` contains enumerations of the constants used by the BER encoder and decoder&period;
| xref:BloombergLP/balber/BerDecoder.adoc[`BerDecoder`] 
| This class contains the parameterized `decode` functions that decode data (in BER format) from an incoming stream into `bdlat` types&period;
| xref:BloombergLP/balber/BerDecoderOptions.adoc[`BerDecoderOptions`] 
| BER decoding options
| xref:BloombergLP/balber/BerDecoder_Node.adoc[`BerDecoder&lowbar;Node`] 
| This class provides current context for BER decoding process and represents a node for BER element&period;
| xref:BloombergLP/balber/BerDecoder_NodeVisitor.adoc[`BerDecoder&lowbar;NodeVisitor`] 
| This class is used as a visitor for visiting contained objects during decoding&period;
| xref:BloombergLP/balber/BerDecoder_UniversalElementVisitor.adoc[`BerDecoder&lowbar;UniversalElementVisitor`] 
| This `class` is used as a visitor for visiting the top&hyphen;level element and also array elements during decoding&period;
| xref:BloombergLP/balber/BerDecoder_Zeroer.adoc[`BerDecoder&lowbar;Zeroer`] 
| This class is a deleter that just zeroes out a given pointer upon destruction, for making code exception&hyphen;safe&period;
| xref:BloombergLP/balber/BerEncoder.adoc[`BerEncoder`] 
| This class contains the parameterized `encode` functions that encode `bdlat` types to an outgoing stream in BER format&period;
| xref:BloombergLP/balber/BerEncoderOptions.adoc[`BerEncoderOptions`] 
| Forward declaration of `BerEncoderOptions`&period;
| xref:BloombergLP/balber/BerEncoderOptionsUtil.adoc[`BerEncoderOptionsUtil`] 
| This `struct` provides a namespace for functions that set `BerEncoderOptions` to particular configurations&period;
| xref:BloombergLP/balber/BerEncoder_LevelGuard.adoc[`BerEncoder&lowbar;LevelGuard`] 
| This class serves the purpose to automatically increment&hyphen;decrement the current depth level&period;
| xref:BloombergLP/balber/BerEncoder_UniversalElementVisitor.adoc[`BerEncoder&lowbar;UniversalElementVisitor`] 
| Visitor for top&hyphen;level and array elements during BER encoding&period;
| xref:BloombergLP/balber/BerEncoder_UseArrayLengthHintGuard.adoc[`BerEncoder&lowbar;UseArrayLengthHintGuard`] 
| This class serves the purpose to set and reset the value of `d&lowbar;useArrayLengthHint`&period;
| xref:BloombergLP/balber/BerEncoder_Visitor.adoc[`BerEncoder&lowbar;Visitor`] 
| This class is used as a visitor for visiting contained objects during encoding&period; Produces always BER elements with CONTEXT&lowbar;SPECIFIC BER tag&period;
| xref:BloombergLP/balber/BerEncoder_encodeProxy.adoc[`BerEncoder&lowbar;encodeProxy`] 
| Component&hyphen;private struct&period; Provides accessor that keeps current context and can be used in different `bdlat` Category Functions&period;
| xref:BloombergLP/balber/BerUniversalTagNumber.adoc[`BerUniversalTagNumber`] 
| This `struct` contains an enumeration of the universal tag numbers for BER encoding&period;
| xref:BloombergLP/balber/BerUniversalTagNumber_Sel.adoc[`BerUniversalTagNumber&lowbar;Sel`] 
| Component&hyphen;private class&period; Do not use&period; This class contains implementation details of this component&period;
| xref:BloombergLP/balber/BerUtil.adoc[`BerUtil`] 
| Utility for encoding and decoding primitive BER constructs and values&period;
| xref:BloombergLP/balber/BerUtil_BooleanImpUtil.adoc[`BerUtil&lowbar;BooleanImpUtil`] 
| Utilities for BER boolean encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_CharacterImpUtil.adoc[`BerUtil&lowbar;CharacterImpUtil`] 
| Utilities for BER byte&hyphen;value encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_Constants.adoc[`BerUtil&lowbar;Constants`] 
| Constants used by BER encoders and decoders&period;
| xref:BloombergLP/balber/BerUtil_DateAndTimeEncoding.adoc[`BerUtil&lowbar;DateAndTimeEncoding`] 
| Encoding formats for all date and time types supported by `BerUtil`&period;
| xref:BloombergLP/balber/BerUtil_DateAndTimeHeader.adoc[`BerUtil&lowbar;DateAndTimeHeader`] 
| Two&hyphen;byte header for extended&hyphen;binary date&hyphen;and&hyphen;time encodings&period;
| xref:BloombergLP/balber/BerUtil_DateAndTimeHeaderImpUtil.adoc[`BerUtil&lowbar;DateAndTimeHeaderImpUtil`] 
| Utilities for extended&hyphen;binary date&hyphen;and&hyphen;time header encoding&period;
| xref:BloombergLP/balber/BerUtil_DateAndTimeHeaderType.adoc[`BerUtil&lowbar;DateAndTimeHeaderType`] 
| Header&hyphen;type values for extended&hyphen;binary date&hyphen;and&hyphen;time encodings&period;
| xref:BloombergLP/balber/BerUtil_DateEncoding.adoc[`BerUtil&lowbar;DateEncoding`] 
| Encoding formats for `bdlt&colon;&colon;Date` values&period;
| xref:BloombergLP/balber/BerUtil_DateImpUtil.adoc[`BerUtil&lowbar;DateImpUtil`] 
| Utilities for BER date encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_DateOrDateTzEncoding.adoc[`BerUtil&lowbar;DateOrDateTzEncoding`] 
| Encoding formats for date or date&hyphen;with&hyphen;time&hyphen;zone variant values&period;
| xref:BloombergLP/balber/BerUtil_DateTzEncoding.adoc[`BerUtil&lowbar;DateTzEncoding`] 
| Encoding formats for `bdlt&colon;&colon;DateTz` values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeEncoding.adoc[`BerUtil&lowbar;DatetimeEncoding`] 
| Encoding formats for `bdlt&colon;&colon;Datetime` values&period;
| xref:BloombergLP/balber/BerUtil_DatetimeImpUtil.adoc[`BerUtil&lowbar;DatetimeImpUtil`] 
| Utilities for BER datetime encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_DatetimeOrDatetimeTzEncoding.adoc[`BerUtil&lowbar;DatetimeOrDatetimeTzEncoding`] 
| Encoding formats for datetime or datetime&hyphen;with&hyphen;time&hyphen;zone variants&period;
| xref:BloombergLP/balber/BerUtil_DatetimeTzEncoding.adoc[`BerUtil&lowbar;DatetimeTzEncoding`] 
| Encoding formats for `bdlt&colon;&colon;DatetimeTz` values&period;
| xref:BloombergLP/balber/BerUtil_ExtendedBinaryEncodingUtil.adoc[`BerUtil&lowbar;ExtendedBinaryEncodingUtil`] 
| Utilities deciding when to use extended&hyphen;binary date&sol;time encodings&period;
| xref:BloombergLP/balber/BerUtil_FloatingPointImpUtil.adoc[`BerUtil&lowbar;FloatingPointImpUtil`] 
| Utilities for BER floating&hyphen;point encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_GetValueImpUtil.adoc[`BerUtil&lowbar;GetValueImpUtil`] 
| Overload set implementing `BerUtil&colon;&colon;getValue` for supported types&period;
| xref:BloombergLP/balber/BerUtil_IdentifierImpUtil.adoc[`BerUtil&lowbar;IdentifierImpUtil`] 
| This component&hyphen;private utility `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER identifier octet encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_IntegerImpUtil.adoc[`BerUtil&lowbar;IntegerImpUtil`] 
| Utilities for BER integer encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_Iso8601ImpUtil.adoc[`BerUtil&lowbar;Iso8601ImpUtil`] 
| Utilities for ISO 8601 date and time BER encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_LengthImpUtil.adoc[`BerUtil&lowbar;LengthImpUtil`] 
| This component&hyphen;private utility `struct` provides a namespace for a suite of functions used by `BerUtil` to implement BER length quantity encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_PutValueImpUtil.adoc[`BerUtil&lowbar;PutValueImpUtil`] 
| Overload set implementing `BerUtil&colon;&colon;putValue` for supported types&period;
| xref:BloombergLP/balber/BerUtil_RawIntegerImpUtil.adoc[`BerUtil&lowbar;RawIntegerImpUtil`] 
| Low&hyphen;level utilities for BER integer encoding&period;
| xref:BloombergLP/balber/BerUtil_StreambufUtil.adoc[`BerUtil&lowbar;StreambufUtil`] 
| Utilities for BDE&hyphen;style stream&hyphen;buffer input and output&period;
| xref:BloombergLP/balber/BerUtil_StringImpUtil.adoc[`BerUtil&lowbar;StringImpUtil`] 
| Utilities for BER string encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_TimeEncoding.adoc[`BerUtil&lowbar;TimeEncoding`] 
| Encoding formats for `bdlt&colon;&colon;Time` values&period;
| xref:BloombergLP/balber/BerUtil_TimeImpUtil.adoc[`BerUtil&lowbar;TimeImpUtil`] 
| Utilities for BER time encoding and decoding&period;
| xref:BloombergLP/balber/BerUtil_TimeOrTimeTzEncoding.adoc[`BerUtil&lowbar;TimeOrTimeTzEncoding`] 
| Encoding formats for time or time&hyphen;with&hyphen;time&hyphen;zone variant values&period;
| xref:BloombergLP/balber/BerUtil_TimeTzEncoding.adoc[`BerUtil&lowbar;TimeTzEncoding`] 
| Encoding formats for `bdlt&colon;&colon;TimeTz` values&period;
| xref:BloombergLP/balber/BerUtil_TimezoneOffsetImpUtil.adoc[`BerUtil&lowbar;TimezoneOffsetImpUtil`] 
| This component&hyphen;private utility `struct` provides a namespace for a suite of functions and constants used by `BerUtil` to encode and decode time&hyphen;zone values&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balber/operator_lshift-09c.adoc[`operator&lt;&lt;`] 
| Stream insertion operators
| xref:BloombergLP/balber/operator_eq-061.adoc[`operator&equals;&equals;`] 
| Return `true` if the specified `lhs` and `rhs` have the same value&period;
| xref:BloombergLP/balber/operator_not_eq-01.adoc[`operator!&equals;`] 
| Inequality operators
|===



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