BDE 4.14.0 Production release
|
#include <bslx_marshallingutil.h>
Public Types | |
enum | { k_SIZEOF_INT64 = 8 , k_SIZEOF_INT56 = 7 , k_SIZEOF_INT48 = 6 , k_SIZEOF_INT40 = 5 , k_SIZEOF_INT32 = 4 , k_SIZEOF_INT24 = 3 , k_SIZEOF_INT16 = 2 , k_SIZEOF_INT8 = 1 , k_SIZEOF_FLOAT64 = 8 , k_SIZEOF_FLOAT32 = 4 } |
Static Public Member Functions | |
static void | putInt64 (char *buffer, bsls::Types::Int64 value) |
static void | putInt56 (char *buffer, bsls::Types::Int64 value) |
static void | putInt48 (char *buffer, bsls::Types::Int64 value) |
static void | putInt40 (char *buffer, bsls::Types::Int64 value) |
static void | putInt32 (char *buffer, int value) |
static void | putInt24 (char *buffer, int value) |
static void | putInt16 (char *buffer, int value) |
static void | putInt8 (char *buffer, int value) |
static void | putFloat64 (char *buffer, double value) |
static void | putFloat32 (char *buffer, float value) |
static void | getInt64 (bsls::Types::Int64 *variable, const char *buffer) |
static void | getUint64 (bsls::Types::Uint64 *variable, const char *buffer) |
static void | getInt56 (bsls::Types::Int64 *variable, const char *buffer) |
static void | getUint56 (bsls::Types::Uint64 *variable, const char *buffer) |
static void | getInt48 (bsls::Types::Int64 *variable, const char *buffer) |
static void | getUint48 (bsls::Types::Uint64 *variable, const char *buffer) |
static void | getInt40 (bsls::Types::Int64 *variable, const char *buffer) |
static void | getUint40 (bsls::Types::Uint64 *variable, const char *buffer) |
static void | getInt32 (int *variable, const char *buffer) |
static void | getUint32 (unsigned int *variable, const char *buffer) |
static void | getInt24 (int *variable, const char *buffer) |
static void | getUint24 (unsigned int *variable, const char *buffer) |
static void | getInt16 (short *variable, const char *buffer) |
static void | getUint16 (unsigned short *variable, const char *buffer) |
static void | getInt8 (char *variable, const char *buffer) |
static void | getInt8 (signed char *variable, const char *buffer) |
static void | getInt8 (unsigned char *variable, const char *buffer) |
static void | getFloat64 (double *variable, const char *buffer) |
static void | getFloat32 (float *variable, const char *buffer) |
static void | putArrayInt64 (char *buffer, const bsls::Types::Int64 *values, int numValues) |
static void | putArrayInt64 (char *buffer, const bsls::Types::Uint64 *values, int numValues) |
static void | putArrayInt56 (char *buffer, const bsls::Types::Int64 *values, int numValues) |
static void | putArrayInt56 (char *buffer, const bsls::Types::Uint64 *values, int numValues) |
static void | putArrayInt48 (char *buffer, const bsls::Types::Int64 *values, int numValues) |
static void | putArrayInt48 (char *buffer, const bsls::Types::Uint64 *values, int numValues) |
static void | putArrayInt40 (char *buffer, const bsls::Types::Int64 *values, int numValues) |
static void | putArrayInt40 (char *buffer, const bsls::Types::Uint64 *values, int numValues) |
static void | putArrayInt32 (char *buffer, const int *values, int numValues) |
static void | putArrayInt32 (char *buffer, const unsigned int *values, int numValues) |
static void | putArrayInt24 (char *buffer, const int *values, int numValues) |
static void | putArrayInt24 (char *buffer, const unsigned int *values, int numValues) |
static void | putArrayInt16 (char *buffer, const short *values, int numValues) |
static void | putArrayInt16 (char *buffer, const unsigned short *values, int numValues) |
static void | putArrayInt8 (char *buffer, const char *values, int numValues) |
static void | putArrayInt8 (char *buffer, const signed char *values, int numValues) |
static void | putArrayInt8 (char *buffer, const unsigned char *values, int numValues) |
static void | putArrayFloat64 (char *buffer, const double *values, int numValues) |
static void | putArrayFloat32 (char *buffer, const float *values, int numValues) |
static void | getArrayInt64 (bsls::Types::Int64 *variables, const char *buffer, int numVariables) |
static void | getArrayUint64 (bsls::Types::Uint64 *variables, const char *buffer, int numVariables) |
static void | getArrayInt56 (bsls::Types::Int64 *variables, const char *buffer, int numVariables) |
static void | getArrayUint56 (bsls::Types::Uint64 *variables, const char *buffer, int numVariables) |
static void | getArrayInt48 (bsls::Types::Int64 *variables, const char *buffer, int numVariables) |
static void | getArrayUint48 (bsls::Types::Uint64 *variables, const char *buffer, int numVariables) |
static void | getArrayInt40 (bsls::Types::Int64 *variables, const char *buffer, int numVariables) |
static void | getArrayUint40 (bsls::Types::Uint64 *variables, const char *buffer, int numVariables) |
static void | getArrayInt32 (int *variables, const char *buffer, int numVariables) |
static void | getArrayUint32 (unsigned int *variables, const char *buffer, int numVariables) |
static void | getArrayInt24 (int *variables, const char *buffer, int numVariables) |
static void | getArrayUint24 (unsigned int *variables, const char *buffer, int numVariables) |
static void | getArrayInt16 (short *variables, const char *buffer, int numVariables) |
static void | getArrayUint16 (unsigned short *variables, const char *buffer, int numVariables) |
static void | getArrayInt8 (char *variables, const char *buffer, int numVariables) |
static void | getArrayInt8 (signed char *variables, const char *buffer, int numVariables) |
static void | getArrayInt8 (unsigned char *variables, const char *buffer, int numVariables) |
static void | getArrayFloat64 (double *variables, const char *buffer, int numVariables) |
static void | getArrayFloat32 (float *variables, const char *buffer, int numVariables) |
This struct
provides a namespace for a suite of functions that facilitate the marshalling of values, and C-style arrays of values, of the fundamental integral and floating-point types in a data-independent, platform-neutral representation.
anonymous enum |
|
static |
Load into the specified variables
the consecutive four-byte IEEE single-precision floating-point numbers (in host byte order) comprised of each of the specified numVariables
leading four-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
.
|
static |
Load into the specified variables
the consecutive eight-byte IEEE double-precision floating-point numbers (in host byte order) comprised of each of the specified numVariables
leading eight-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
.
|
static |
Load into the specified variables
the consecutive two-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading two-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive three-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading three-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive four-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading four-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive five-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading five-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive six-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading six-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive seven-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading seven-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
static |
Load into the specified variables
the consecutive eight-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
leading eight-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be sign-extended.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Load into the specified variables
the consecutive one-byte, two's complement integers comprised of each of the specified numVariables
leading one-byte sequences in the specified buffer
. The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
.
|
static |
Load into the specified variables
the consecutive two-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading two-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive three-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading three-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive four-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading four-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive five-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading five-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive six-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading six-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive seven-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading seven-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
static |
Load into the specified variables
the consecutive eight-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
leading eight-byte sequences in the specified buffer
(in network byte order). The behavior is undefined unless variables
has sufficient capacity, buffer
has sufficient contents, and 0 <= numVariables
. Note that each of the values will be zero-extended.
|
inlinestatic |
Load into the specified variable
the four-byte IEEE single-precision floating-point number (in host byte order) comprised of the initial four bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents.
|
inlinestatic |
Load into the specified variable
the eight-byte IEEE double-precision floating-point number (in host byte order) comprised of the initial eight bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents.
|
inlinestatic |
Load into the specified variable
the two-byte, two's complement integer (in host byte order) comprised of the initial two bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the three-byte, two's complement integer (in host byte order) comprised of the initial three bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the four-byte, two's complement integer (in host byte order) comprised of the initial four bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the five-byte, two's complement integer (in host byte order) comprised of the initial five bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the six-byte, two's complement integer (in host byte order) comprised of the initial six bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the seven-byte, two's complement integer (in host byte order) comprised of the initial seven bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
Load into the specified variable
the eight-byte, two's complement integer (in host byte order) comprised of the initial eight bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be sign-extended.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Load into the specified variable
the one-byte, two's complement integer comprised of the initial one byte of the specified buffer
. The behavior is undefined unless buffer
has sufficient contents.
|
inlinestatic |
Load into the specified variable
the two-byte, two's complement unsigned integer (in host byte order) comprised of the initial two bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the three-byte, two's complement unsigned integer (in host byte order) comprised of the initial three bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the four-byte, two's complement unsigned integer (in host byte order) comprised of the initial four bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the five-byte, two's complement unsigned integer (in host byte order) comprised of the initial five bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the six-byte, two's complement unsigned integer (in host byte order) comprised of the initial six bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the seven-byte, two's complement unsigned integer (in host byte order) comprised of the initial seven bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
inlinestatic |
Load into the specified variable
the eight-byte, two's complement unsigned integer (in host byte order) comprised of the initial eight bytes of the specified buffer
(in network byte order). The behavior is undefined unless buffer
has sufficient contents. Note that the value will be zero-extended.
|
static |
Load into the specified buffer
the consecutive four-byte IEEE single-precision floating-point numbers (in network byte order) comprised of the most-significant four bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
. Note that for non-conforming platforms, this operation may be lossy.
|
static |
Load into the specified buffer
the consecutive eight-byte IEEE double-precision floating-point numbers (in network byte order) comprised of the most-significant eight bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
. Note that for non-conforming platforms, this operation may be lossy.
|
static |
|
static |
Load into the specified buffer
the consecutive two-byte, two's complement integers (in network byte order) comprised of the least-significant two bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive three-byte, two's complement integers (in network byte order) comprised of the least-significant three bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive four-byte, two's complement integers (in network byte order) comprised of the least-significant four bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive five-byte, two's complement integers (in network byte order) comprised of the least-significant five bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive six-byte, two's complement integers (in network byte order) comprised of the least-significant six bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive seven-byte, two's complement integers (in network byte order) comprised of the least-significant seven bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
static |
|
static |
Load into the specified buffer
the consecutive eight-byte, two's complement integers (in network byte order) comprised of the least-significant eight bytes of each of the specified numValues
leading entries in the specified values
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Load into the specified buffer
the consecutive one-byte, two's complement integers comprised of the one byte of each of the specified numValues
leading entries in the specified values
. The behavior is undefined unless buffer
has sufficient capacity, values
has sufficient contents, and 0 <= numValues
.
|
inlinestatic |
Load into the specified buffer
the four-byte IEEE single-precision floating-point number (in network byte order) comprised of the most-significant four bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that for non-conforming platforms, this operation may be lossy.
|
inlinestatic |
Load into the specified buffer
the eight-byte IEEE double-precision floating-point number (in network byte order) comprised of the most-significant eight bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that for non-conforming platforms, this operation may be lossy.
|
inlinestatic |
Load into the specified buffer
the two-byte, two's complement integer (in network byte order) comprised of the least-significant two bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 32-bit values, and signed and unsigned 16- and 8-bit values.
|
inlinestatic |
Load into the specified buffer
the three-byte, two's complement integer (in network byte order) comprised of the least-significant three bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 32-bit values, and signed and unsigned 16- and 8-bit values.
|
inlinestatic |
Load into the specified buffer
the four-byte, two's complement integer (in network byte order) comprised of the least-significant four bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 32-bit values, and signed and unsigned 16- and 8-bit values.
|
inlinestatic |
Load into the specified buffer
the five-byte, two's complement integer (in network byte order) comprised of the least-significant five bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 64-bit values.
|
inlinestatic |
Load into the specified buffer
the six-byte, two's complement integer (in network byte order) comprised of the least-significant six bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 64-bit values.
|
inlinestatic |
Load into the specified buffer
the seven-byte, two's complement integer (in network byte order) comprised of the least-significant seven bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 64-bit values.
|
inlinestatic |
Load into the specified buffer
the eight-byte, two's complement integer (in network byte order) comprised of the least-significant eight bytes of the specified value
(in host byte order). The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 64-bit values.
|
inlinestatic |
Load into the specified buffer
the one-byte, two's complement integer comprised of the least-significant one byte of the specified value
. The behavior is undefined unless buffer
has sufficient capacity. Note that this function applies equally to unsigned 32-bit values, and signed and unsigned 16- and 8-bit values.