[#BloombergLP-balber-BerUtil_TimeImpUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balber.adoc[balber]::BerUtil_TimeImpUtil :relfileprefix: ../../ :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_TimeImpUtil/DateAndTimeHeader.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/DateAndTimeHeaderType.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/DateAndTimeHeaderUtil.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/ExtendedBinaryEncodingUtil.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/IntegerUtil.adoc[`IntegerUtil`] | `IntegerUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for integer values. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/Iso8601Util.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/LengthUtil.adoc[`LengthUtil`] | `LengthUtil` is an alias to a namespace for a suite of functions used to implement BER encoding and decoding operations for length quantities. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/StreambufUtil.adoc[`StreambufUtil`] | `StreambufUtil` is an alias to a namespace for a suite of functions used to implement input and output operations on `bsl::streambuf` objects. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/StringUtil.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeEncoding.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeOrTimeTz.adoc[`TimeOrTimeTz`] | `TimeOrTimeTz` is a convenient alias for `bdlb::Variant2<bdlt::Time, bdlt::TimeTz>`. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeOrTimeTzEncoding.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimeTzEncoding.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/TimezoneUtil.adoc[`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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balber/BerUtil_TimeImpUtil/getTimeOrTimeTzValue.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/getTimeTzValue.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/getTimeValue.adoc[`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. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/microsecondsSinceMidnightToTime.adoc[`microsecondsSinceMidnightToTime`] | Load to the specified `time` the time value represented by the specified `microsecondsSinceMidnight`. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/millisecondsSinceMidnightToTime.adoc[`millisecondsSinceMidnightToTime`] | Load to the specified `time` the time value represented by the specified `millisecondsSinceMidnight`. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/putTimeTzValue.adoc[`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`. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/putTimeValue.adoc[`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`. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/timeToMicrosecondsSinceMidnight.adoc[`timeToMicrosecondsSinceMidnight`] | Load to the specified `microsecondsSinceMidnight` the number of microseconds in the specified `time` value. | xref:BloombergLP/balber/BerUtil_TimeImpUtil/timeToMillisecondsSinceMidnight.adoc[`timeToMillisecondsSinceMidnight`] | Load to the specified `millisecondsSinceMidnight` the number of milliseconds in the specified `time` value. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#