Quick Links: |
#include <balber_berutil.h>
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
:
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.
typedef BerUtil_ExtendedBinaryEncodingUtil balber::BerUtil_DatetimeImpUtil::ExtendedBinaryEncodingUtil |
typedef BerUtil_DatetimeOrDatetimeTzEncoding balber::BerUtil_DatetimeImpUtil::DatetimeOrDatetimeTzEncoding |
typedef bdlb::Variant2<bdlt::Datetime, bdlt::DatetimeTz> balber::BerUtil_DatetimeImpUtil::DatetimeOrDatetimeTz |
static int balber::BerUtil_DatetimeImpUtil::getDatetimeValue | ( | bdlt::Datetime * | value, | |
bsl::streambuf * | streamBuf, | |||
int | length | |||
) | [static] |
Read the specified length
number of bytes from the input sequence of the specified streamBuf
and load to the specified value
the date and 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 date and 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::Datetime
value.
static int balber::BerUtil_DatetimeImpUtil::putDatetimeValue | ( | bsl::streambuf * | streamBuf, | |
const bdlt::Datetime & | value, | |||
const BerEncoderOptions * | options | |||
) | [static] |
Write a representation of the specified value
date and time 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
.
static int balber::BerUtil_DatetimeImpUtil::getDatetimeTzValue | ( | bdlt::DatetimeTz * | value, | |
bsl::streambuf * | streamBuf, | |||
int | length | |||
) | [static] |
Read the specified length
number of bytes from the input sequence of the specified streamBuf
and load to the specified value
the date, time, and time zone 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 date, 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::Datetime
value.
static int balber::BerUtil_DatetimeImpUtil::putDatetimeTzValue | ( | bsl::streambuf * | streamBuf, | |
const bdlt::DatetimeTz & | value, | |||
const BerEncoderOptions * | options | |||
) | [static] |
Write a representation of the specified value
date, time, and time zone 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
.
static int balber::BerUtil_DatetimeImpUtil::getDatetimeOrDatetimeTzValue | ( | DatetimeOrDatetimeTz * | value, | |
bsl::streambuf * | streamBuf, | |||
int | length | |||
) | [static] |
Write a representation of the specified value
date, time, and optional time zone 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
.