Package namespace for BDEX streaming components.

Namespaces

Name

Description

InStreamFunctions

This namespace facilitates unexternalization of all BDEX‐compliant types in a type‐independent manner. The unexternalization functions are overloaded for fundamental types, enumeration types, bsl::string, and bsl::vector. A compilation error will occur if the (template parameter) VALUE_TYPE of a non‐overloaded method of bslx::InStreamFunctions does not support bdexStreamIn (with the appropriate signature).

OutStreamFunctions

Namespace for type‐independent externalization of BDEX‐compliant types.

VersionFunctions

Namespace for computing BDEX version information for externalizable types.

Types

Name

Description

ByteInStream

This class provides input methods to unexternalize values, and C‐style arrays of values, of the fundamental integral and floating‐point types, as well as bsl::string values, using a byte format documented in the bslx_byteoutstream component. In particular, each get method of this class is guaranteed to read stream data written by the corresponding put method of bslx::ByteOutStream. Note that attempting to read beyond the end of a stream will automatically invalidate the stream. See the bslx package‐level documentation for the definition of the BDEX InStream protocol.

ByteOutStream

This class provides output methods to externalize values, and C‐style arrays of values, of the fundamental integral and floating‐point types, as well as bsl::string values. In particular, each put method of this class is guaranteed to write stream data that can be read by the corresponding get method of bslx::ByteInStream. See the bslx package‐level documentation for the definition of the BDEX OutStream protocol.

GenericInStream

This class provides input methods to unexternalize values, and C‐style arrays of values, of the fundamental integral and floating‐point types, as well as bsl::string values, using a byte format documented in the bslx_byteoutstream component. In particular, each get method of this class is guaranteed to read stream data written by the corresponding put method of bslx::GenericOutStream. Note that attempting to read beyond the end of a stream will automatically invalidate the stream. See the bslx package‐level documentation for the definition of the BDEX InStream protocol.

GenericOutStream

This class provides output methods to externalize values, and C‐style arrays of values, of the fundamental integral and floating‐point types, as well as bsl::string values. In particular, each put method of this class is guaranteed to write stream data that can be read by the corresponding get method of bslx::GenericInStream. See the bslx package‐level documentation for the definition of the BDEX OutStream protocol.

MarshallingUtil

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.

TestInStream

This class provides input methods to unexternalize values, and C‐style arrays of values, of fundamental types from their byte representations. Each input method also verifies the input value type. By default, if invalid data is detected, error messages are displayed on stdout; this error reporting may be disabled via the setQuiet method. Note that attempting to read beyond the end of a stream will automatically invalidate the stream. See the bslx package‐level documentation for the definition of the BDEX InStream protocol.

TestInStreamException

This class defines an exception object for unexternalization operations. Instances of this class contain information about an unexternalization request.

TestInStream_Proxy

This class provides a proxy to the test stream that is supplied to the BSLX_TESTINSTREAM_EXCEPTION_TEST_BEGIN macro. This proxy may be instantiated with TestInStream, or with a type that supports the same interface as TestInStream.

TestInStream_ProxyBase

This class provides a common base class for the parameterized TestInStream_Proxy class (below). Note that the virtual setInputLimit method, although a "setter", must be declared const.

TestOutStream

This class implements output methods to externalize fundamental types and their associated type identification data. It stores the accumulated result in network byte order. See the bslx package‐level documentation for the definition of the BDEX OutStream protocol.

TypeCode

This struct provides a namespace for enumerating the set of fundamental types supported within bslx. See Enum in the TYPES sub‐section for details.

VersionFunctions_DoesNotHaveBdexVersion

This class is used to perform function overload resolution for types that do not have BDEX versions. This class contains no interface or implementation by design.

VersionFunctions_HasBdexVersion

This class is used to perform function overload resolution for types that have BDEX versions. This class contains no interface or implementation by design.

VersionFunctions_NonFundamentalImpl

This struct provides a namespace for functions used to obtain the BDEX‐compliant version information for vectors and types requiring a TYPE::maxSupportedBdexVersion method as per the BDEX protocol (see the bslx package‐level documentation).

Type Aliases

Name

Description

StreambufInStream

This class facilitates the unexternalization of values (and C‐style arrays of values) of the fundamental integral and floating‐point types in a data‐independent, platform‐neutral representation. It is currently a typedef for bslx::GenericInStream<bsl::streambuf>.

StreambufOutStream

This class facilitates the externalization of values (and C‐style arrays of values) of the fundamental integral and floating‐point types in a data‐independent, platform‐neutral representation. It is currently a typedef for bslx::GenericOutStream<bsl::streambuf>.

Functions

Name

Description

TestInStream_getProxy

Return, by value, a test stream proxy for the specified parameterized stream.

operator>>

Right shift operators

operator<<

Stream insertion operators

Created with MrDocs