Quick Links:

bal | bbl | bdl | bsl

Public Types | Static Public Member Functions

balber::BerUtil_DatetimeImpUtil Struct Reference

#include <balber_berutil.h>

List of all members.

Public Types

typedef BerUtil_Constants Constants
typedef
BerUtil_ExtendedBinaryEncodingUtil 
ExtendedBinaryEncodingUtil
typedef BerUtil_DateAndTimeHeader DateAndTimeHeader
typedef
BerUtil_DateAndTimeHeaderImpUtil 
DateAndTimeHeaderUtil
typedef BerUtil_DateImpUtil DateUtil
typedef BerUtil_DatetimeEncoding DatetimeEncoding
typedef BerUtil_DatetimeTzEncoding DatetimeTzEncoding
typedef
BerUtil_DatetimeOrDatetimeTzEncoding 
DatetimeOrDatetimeTzEncoding
typedef BerUtil_IntegerImpUtil IntegerUtil
typedef BerUtil_Iso8601ImpUtil Iso8601Util
typedef BerUtil_LengthImpUtil LengthUtil
typedef BerUtil_StreambufUtil StreambufUtil
typedef BerUtil_StringImpUtil StringUtil
typedef BerUtil_TimeImpUtil TimeUtil
typedef
BerUtil_TimezoneOffsetImpUtil 
TimezoneUtil
typedef bdlb::Variant2
< bdlt::Datetime,
bdlt::DatetimeTz
DatetimeOrDatetimeTz

Static Public Member Functions

static int getDatetimeValue (bdlt::Datetime *value, bsl::streambuf *streamBuf, int length)
static int putDatetimeValue (bsl::streambuf *streamBuf, const bdlt::Datetime &value, const BerEncoderOptions *options)
static int getDatetimeTzValue (bdlt::DatetimeTz *value, bsl::streambuf *streamBuf, int length)
static int putDatetimeTzValue (bsl::streambuf *streamBuf, const bdlt::DatetimeTz &value, const BerEncoderOptions *options)
static int getDatetimeOrDatetimeTzValue (DatetimeOrDatetimeTz *value, bsl::streambuf *streamBuf, int length)

Detailed Description

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:

the specification:
Refers to the August 2015 revision of the ITU-T Recommendation X.690, and
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.

See Component balber_berutil

Member Typedef Documentation


Member Function Documentation

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.


The documentation for this struct was generated from the following file: