BDE 4.14.0 Production release
Loading...
Searching...
No Matches
balber::BerUtil_DatetimeImpUtil Struct Reference

#include <balber_berutil.h>

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::DatetimeTzDatetimeOrDatetimeTz
 

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.

Member Typedef Documentation

◆ Constants

Constants is an alias to a namespace for a suite of general-purpose constants that occur when encoding or decoding BER data.

◆ 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.

◆ 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.

◆ DatetimeEncoding

DatetimeEncoding 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::Datetime type.

◆ DatetimeOrDatetimeTz

◆ DatetimeOrDatetimeTzEncoding

DatetimeOrDatetimeTzEncoding 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::Datetime, bdlt::DatetimeTz> type.

◆ DatetimeTzEncoding

DatetimeTzEncoding 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::DatetimeTz type.

◆ DateUtil

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

◆ 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.

◆ TimeUtil

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

◆ 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.

Member Function Documentation

◆ getDatetimeOrDatetimeTzValue()

int balber::BerUtil_DatetimeImpUtil::getDatetimeOrDatetimeTzValue ( DatetimeOrDatetimeTz value,
bsl::streambuf *  streamBuf,
int  length 
)
inlinestatic

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.

◆ getDatetimeTzValue()

int balber::BerUtil_DatetimeImpUtil::getDatetimeTzValue ( bdlt::DatetimeTz value,
bsl::streambuf *  streamBuf,
int  length 
)
inlinestatic

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.

◆ getDatetimeValue()

int balber::BerUtil_DatetimeImpUtil::getDatetimeValue ( bdlt::Datetime value,
bsl::streambuf *  streamBuf,
int  length 
)
inlinestatic

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.

◆ putDatetimeTzValue()

int balber::BerUtil_DatetimeImpUtil::putDatetimeTzValue ( bsl::streambuf *  streamBuf,
const bdlt::DatetimeTz value,
const BerEncoderOptions options 
)
inlinestatic

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.

◆ putDatetimeValue()

int balber::BerUtil_DatetimeImpUtil::putDatetimeValue ( bsl::streambuf *  streamBuf,
const bdlt::Datetime value,
const BerEncoderOptions options 
)
inlinestatic

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.


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