Package namespace for BER encoding and decoding components.

Types

Name

Description

BerConstants

This struct contains enumerations of the constants used by the BER encoder and decoder.

BerDecoder

This class contains the parameterized decode functions that decode data (in BER format) from an incoming stream into bdlat types.

BerDecoderOptions

BER decoding options

BerDecoder_Node

This class provides current context for BER decoding process and represents a node for BER element. The BER element consists of element tag, length field, body field and optional end of tag. 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.

BerDecoder_NodeVisitor

This class is used as a visitor for visiting contained objects during decoding.

BerDecoder_UniversalElementVisitor

This class is used as a visitor for visiting the top‐level element and also array elements during decoding. This class is required so that the universal tag number of the element can be determined when the element is visited.

BerDecoder_Zeroer

This class is a deleter that just zeroes out a given pointer upon destruction, for making code exception‐safe.

BerEncoder

This class contains the parameterized encode functions that encode bdlat types to an outgoing stream in BER format.

BerEncoderOptions

Forward declaration of BerEncoderOptions.

BerEncoderOptionsUtil

This struct provides a namespace for functions that set BerEncoderOptions to particular configurations.

BerEncoder_LevelGuard

This class serves the purpose to automatically increment‐decrement the current depth level.

BerEncoder_UniversalElementVisitor

This class is used as a visitor for visiting the top‐level element and also array elements during encoding. This class is required so that the universal tag number of the element can be determined when the element is visited.

BerEncoder_UseArrayLengthHintGuard

This class serves the purpose to set and reset the value of d_useArrayLengthHint.

BerEncoder_Visitor

This class is used as a visitor for visiting contained objects during encoding. Produces always BER elements with CONTEXT_SPECIFIC BER tag.

BerEncoder_encodeProxy

Component‐private struct. Provides accessor that keeps current context and can be used in different bdlat Category Functions.

BerUniversalTagNumber

This struct contains an enumeration of the universal tag numbers for BER encoding.

BerUniversalTagNumber_Sel

Component‐private class. Do not use. This class contains implementation details of this component.

BerUtil

This utility contains functions to encode and decode primitive BER constructs and simple value semantic types. By convention, all functions return 0 on success, and a non‐zero value otherwise. Also by convention, all the "get" functions take an accumNumBytesConsumed; each of the functions will add to this variable the number of bytes consumed within the scope of the function.

BerUtil_BooleanImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for boolean values. Within the definition of this struct:

BerUtil_CharacterImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for byte values. Within the definition of this struct:

BerUtil_Constants

This component‐private utility struct provides a namespace for a set of constants used to calculate quantities needed by BER encoders and decoders. For example, this struct provides a named constant for the number of bits in a byte, which is used in downstream calculations.

BerUtil_DateAndTimeEncoding

This component‐private struct provides a namespace for enumerating the union of the sets of date and time formats used to encode and decode all date and time types supported by BerUtil.

BerUtil_DateAndTimeHeader

This component‐private, in‐core, value‐semantic attribute class provides a representation of the information available in the first two bytes of any extended‐binary‐encoding formatted data. All extended‐binary encoding schemes for date‐and‐time types contain a 2‐byte header in the same format, which can be unambiguously distinguished from the first 2 bytes of a date‐and‐time type in its corresponding compact‐binary‐encoding format or its ISO 8601 format.

BerUtil_DateAndTimeHeaderImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement encoding and decoding operations for the 2‐byte header of extended‐binary‐encoding formatted date‐and‐time value.

BerUtil_DateAndTimeHeaderType

This component‐private struct provides a namespace for enumerating the set of "header type" values that may be encoded in the 2‐byte header of an extended‐binary‐encoding formatted date‐and‐time value.

BerUtil_DateEncoding

This component‐private struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::Date type.

BerUtil_DateImpUtil

This component‐private struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for date values. Within the definition of this struct:

BerUtil_DateOrDateTzEncoding

This component‐private struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlb::Variant2<bdlt::Date, bdlt::DateTz> type.

BerUtil_DateTzEncoding

This component‐private struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::DateTz type.

BerUtil_DatetimeEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::Datetime type.

BerUtil_DatetimeImpUtil

This component‐private struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for date and time values. Within the definition of this struct:

BerUtil_DatetimeOrDatetimeTzEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to decode to values of bdlb::Variant2<bdlt::Datetime, bdlt::DatetimeTz> type.

BerUtil_DatetimeTzEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::DatetimeTz type.

BerUtil_ExtendedBinaryEncodingUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to determine if a particular date and/or time value should be encoded using its corresponding extended‐binary‐encoding format, its corresponding compact‐binary‐encoding format, or neither format.

BerUtil_FloatingPointImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for floating point number values. Within the definition of this struct:

BerUtil_GetValueImpUtil

This component‐private utility struct provides a namespace for a suite of functions that define the overload set for the implementation of balber::BerUtil::getValue. The set of types used for the value parameters in the overload set of getValue in this struct define the set of types that balber::BerUtil::getValue supports.

BerUtil_IdentifierImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER identifier octet encoding and decoding.

BerUtil_IntegerImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for integer values. Within the definition of this struct:

BerUtil_Iso8601ImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for date and time values in the ISO 8601 format. See the component‐level documentation of {`bdlt_iso8601util`} for a complete description of the ISO 8601 format used by the functions provided by this struct.

BerUtil_LengthImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER length quantity encoding and decoding.

BerUtil_PutValueImpUtil

This component‐private utility struct provides a namespace for a suite of functions that define the overload set for the implementation of balber::BerUtil::putValue. The set of types used for the value parameters in the overload set of putValue in this struct define the set of types that balber::BerUtil::putValue supports.

BerUtil_RawIntegerImpUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to implement BER integer encoding. This struct is separate from BerUtil_IntegerImpUtil to break a dependency cycle between BerUtil_IntegerImpUtil and BerUtil_LengthImpUtil.

BerUtil_StreambufUtil

This component‐private utility struct provides a namespace for a suite of functions used by BerUtil to perform input and output operations on bsl::streambuf objects. Note that these functions are intended to adapt the standard stream‐buffer operations to a BDE‐style interface.

BerUtil_StringImpUtil

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:

BerUtil_TimeEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::Time type.

BerUtil_TimeImpUtil

This component‐private struct provides a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for time values. Within the definition of this struct:

BerUtil_TimeOrTimeTzEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to decode values of bdlb::Variant2<bdlt::Time, bdlt::TimeTz> type.

BerUtil_TimeTzEncoding

This component‐private utility struct provides a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::TimeTz type.

BerUtil_TimezoneOffsetImpUtil

This component‐private utility struct provides a namespace for a suite of functions and constants used by BerUtil to encode and decode time‐zone values.

Functions

Name

Description

operator<<

Stream insertion operators

operator==

Equality operators

operator!=

Inequality operators

Created with MrDocs