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:

Synopsis

Declared in <balber_berutil.h>

struct BerUtil_TimeImpUtil;

Description

* the specification: > Refers to the August 2015 revision of the ITU‐T Recommendation X.690.

* the default set of options: > Refers to a balber::BerEncoderOptions value having a > datetimeFractionalSecondPrecision attribute of 3 and a > encodeDateAndTimeTypesAsBinary attribute of false.

See the package level documentation of {`balber`} for a definition of the compact and extended binary formats for date and time values.

Type Aliases

Name

Description

DateAndTimeHeader

Header is an alias to an in‐core, value‐semantic attribute class that represents the range of valid values of the 2‐byte header of extended‐binary‐encoding formatted date‐and‐time values.

DateAndTimeHeaderType

Type is an alias to 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.

DateAndTimeHeaderUtil

DateAndTimeHeaderUtil is an alias to a namespace for a suite of functions used to implement encoding and decoding operations for the 2‐byte header of an extended‐binary‐encoding formatted date‐and‐time value.

ExtendedBinaryEncodingUtil

DateAndTimeHeaderUtil is an alias to a namespace for a suite of functions used to implement encoding and decoding operations for the 2‐byte header of an extended‐binary‐encoding formatted date‐and‐time value.

IntegerUtil

IntegerUtil is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for integer values.

Iso8601Util

Iso8601Util is an alias to a namespace for a suite of functions used to implementing the encoding and decoding of date and time values using the ISO 8601 format.

LengthUtil

LengthUtil is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for length quantities.

StreambufUtil

StreambufUtil is an alias to a namespace for a suite of functions used to implement input and output operations on bsl::streambuf objects.

StringUtil

StringUtil is an alias to a namespace for a suite of functions used by BerUtil to implement BER encoding and decoding operations for string values.

TimeEncoding

TimeEncoding is an alias to a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::Time type.

TimeOrTimeTz

TimeOrTimeTz is a convenient alias for bdlb::Variant2<bdlt::Time, bdlt::TimeTz>.

TimeOrTimeTzEncoding

TimeOrTimeTzEncoding is an alias to a namespace for enumerating the set of formats that may be used by BerUtil to decode to values of bdlb::Variant2<bdlt::Time, bdlt::TimeTz> type.

TimeTzEncoding

TimeTzEncoding is an alias to a namespace for enumerating the set of formats that may be used by BerUtil to encode and decode values of bdlt::TimeTz type.

TimezoneUtil

TimezoneUtil is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for time‐zone offset values.

Static Member Functions

Name

Description

getTimeOrTimeTzValue

Read the specified length number of bytes from the input sequence of the specified streamBuf and load to the specified value the time and optional time zone value represented by those bytes. Return 0 on success, 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 contain a valid representation of a time and optional time zone value. See the package‐level documentation of {`balber`} for a description of the decision procedure used to detect the encoding format for a TimeOrTimeTz value.

getTimeTzValue

Read the specified length number of bytes from the input sequence of the specified streamBuf and load to the specified value the time and time zone value represented by those bytes. Return 0 on success, 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 contain a valid representation of a time and time zone value. See the package‐level documentation of {`balber`} for a description of the decision procedure used to detect the encoding format for a bdlt::TimeTz value.

getTimeValue

Read the specified length number of bytes from the input sequence of the specified streamBuf and load to the specified value the time value represented those bytes. Return 0 on success, 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 contain a valid representation of a time value. See the package‐level documentation of {`balber`} for a description of the decision procedure used to detect the encoding format for a bdlt::Time value.

microsecondsSinceMidnightToTime

Load to the specified time the time value represented by the specified microsecondsSinceMidnight.

millisecondsSinceMidnightToTime

Load to the specified time the time value represented by the specified millisecondsSinceMidnight.

putTimeTzValue

Write a representation of the specified time and time‐zone value to the output sequence of the specified streamBuf according to the specified options. If options is 0, the default set of options is used. Return 0 on success, and a non‐zero value otherwise. This operation succeeds if all bytes in the representation of the value are written to the output sequence of the streamBuf without the write position becoming unavailable. See the class documentation for a description of the default options. See the package‐level documentation of {`balber`} for a description of the decision procedure used to select an encoding format for the value.

putTimeValue

Write a representation of the specified time value to the output sequence of the specified streamBuf according to the specified options. If options is 0, the default set of options is used. Return 0 on success, and a non‐zero value otherwise. This operation succeeds if all bytes in the representation of the value are written to the output sequence of the streamBuf without the write position becoming unavailable. See the class documentation for a description of the default options. See the package‐level documentation of {`balber`} for a description of the decision procedure used to select an encoding format for the value.

timeToMicrosecondsSinceMidnight

Load to the specified microsecondsSinceMidnight the number of microseconds in the specified time value.

timeToMillisecondsSinceMidnight

Load to the specified millisecondsSinceMidnight the number of milliseconds in the specified time value.

Created with MrDocs