#include <balber_berutil.h>
List of all members.
Detailed Description
This component-private utility struct
provides a namespace for a suite of functions used by BerUtil
to implement BER encoding and decoding operations for integer values. Within the definition of this struct
:
Member Typedef Documentation
Member Function Documentation
static int balber::BerUtil_IntegerImpUtil::getNumOctetsToStream |
( |
short |
value |
) |
[static] |
static int balber::BerUtil_IntegerImpUtil::getNumOctetsToStream |
( |
int |
value |
) |
[static] |
static int balber::BerUtil_IntegerImpUtil::getNumOctetsToStream |
( |
long long |
value |
) |
[static] |
Return the number of octets required to provide a BER encoding of the specified value
according to the specification.
template<class INTEGRAL_TYPE >
static int balber::BerUtil_IntegerImpUtil::getNumOctetsToStream |
( |
INTEGRAL_TYPE |
value |
) |
[static] |
Return the number of octets required to provide a BER encoding of the specified value
according to the specification. The program is ill-formed unless the specified INTEGRAL_TYPE
is a fundamental integral type.
static int balber::BerUtil_IntegerImpUtil::getIntegerValue |
( |
long long * |
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 interpretation of those bytes as the contents octets of a BER-encoded integer value according to the specification. Return 0 if successful, and a non-zero value otherwise.
template<class INTEGRAL_TYPE >
static int balber::BerUtil_IntegerImpUtil::getIntegerValue |
( |
INTEGRAL_TYPE * |
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 interpretation of those bytes as the contents octets of BER-encoded integer value according to the specification. Return 0 if successful, 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 read contain a valid representation of the contents octets of an integer value according to the specification. The program is ill-formed unless the specified INTEGRAL_TYPE
is a fundamental integral type.
static int balber::BerUtil_IntegerImpUtil::get40BitIntegerValue |
( |
bsls::Types::Int64 * |
value, |
|
|
bsl::streambuf * |
streamBuf | |
|
) |
| | [static] |
Read 5 bytes from the input sequence of the specified streamBuf
and load to the specified value
the interpretation of those bytes as a 40-bit, signed, 2's-complement, big-endian integer. Return 0 if successful, and a non-zero value otherwise. The operation succeeds if all 5 bytes are successfully read from the input sequence of the streamBuf
without the read position becoming unavailable, and the bytes read contain a valid representation of a 40-bit, signed, 2's-complement, big-endian integer.
template<class INTEGRAL_TYPE >
static int balber::BerUtil_IntegerImpUtil::putIntegerValue |
( |
bsl::streambuf * |
streamBuf, |
|
|
INTEGRAL_TYPE |
value | |
|
) |
| | [static] |
Write the length and contents octets of the BER encoding of the specified integer value
(as defined in the specification) to the output sequence of the specified streamBuf
. Return 0 if successful, and a non-zero value otherwise. The operation succeeds if all bytes corresponding to the length and contents octets are written to the streamBuf
without the write position becoming unavailable. The program is ill-formed unless the specified INTEGRAL_TYPE
is a fundamental integral type.
static int balber::BerUtil_IntegerImpUtil::put40BitIntegerValue |
( |
bsl::streambuf * |
streamBuf, |
|
|
bsls::Types::Int64 |
value | |
|
) |
| | [static] |
Write the 5 octets that comprise the 40-bit, signed, 2's-complement, bit-endian representation of the specified integer value
to the specified streamBuf
. Return 0 if successful, and a non-zero value otherwise. The operation succeeds if all bytes corresponding to the representation of the value
are written to the streamBuf
without the write position becoming unavailable. The behavior is undefined unless the value
is in the half-open interval [-549755813888, 549755813888)
.
template<class INTEGRAL_TYPE >
static int balber::BerUtil_IntegerImpUtil::putIntegerGivenLength |
( |
bsl::streambuf * |
streamBuf, |
|
|
INTEGRAL_TYPE |
value, |
|
|
int |
length | |
|
) |
| | [static] |
Write exactly the specified length
number of contents octets of the BER encoding of the specified integer value
(as defined in the specification) to the output sequence of the specified streamBuf
. Return 0 if successful, and a non-zero value otherwise. The operation succeeds if all bytes corresponding to the contents octets are written to the streamBuf
without the write position becoming unavailable. The behavior is undefined unless there are exactly length
number of contents octets used to encode the integer value
according to the specification. The program is ill-formed unless the specified INTEGRAL_TYPE
is a fundamental integral type.
Member Data Documentation
The documentation for this struct was generated from the following file: