BloombergLP::bslx

Package namespace for BDEX streaming components.

Namespaces

NameDescription
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

NameDescription
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

NameDescription
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

NameDescription
TestInStream_getProxy Return, by value, a test stream proxy for the specified parameterized stream.
operator>> Right shift operators
operator<< Stream insertion operators