[#BloombergLP-bslx] = xref:BloombergLP.adoc[BloombergLP]::bslx :relfileprefix: ../ :mrdocs: Package namespace for BDEX streaming components. == Namespaces [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/InStreamFunctions.adoc[`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). | xref:BloombergLP/bslx/OutStreamFunctions.adoc[`OutStreamFunctions`] | Namespace for type‐independent externalization of BDEX‐compliant types. | xref:BloombergLP/bslx/VersionFunctions.adoc[`VersionFunctions`] | Namespace for computing BDEX version information for externalizable types. |=== == Types [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/ByteInStream.adoc[`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. | xref:BloombergLP/bslx/ByteOutStream.adoc[`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. | xref:BloombergLP/bslx/GenericInStream.adoc[`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. | xref:BloombergLP/bslx/GenericOutStream.adoc[`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. | xref:BloombergLP/bslx/MarshallingUtil.adoc[`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. | xref:BloombergLP/bslx/TestInStream.adoc[`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. | xref:BloombergLP/bslx/TestInStreamException.adoc[`TestInStreamException`] | This class defines an exception object for unexternalization operations. Instances of this class contain information about an unexternalization request. | xref:BloombergLP/bslx/TestInStream_Proxy.adoc[`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`. | xref:BloombergLP/bslx/TestInStream_ProxyBase.adoc[`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`. | xref:BloombergLP/bslx/TestOutStream.adoc[`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. | xref:BloombergLP/bslx/TypeCode.adoc[`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. | xref:BloombergLP/bslx/VersionFunctions_DoesNotHaveBdexVersion.adoc[`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. | xref:BloombergLP/bslx/VersionFunctions_HasBdexVersion.adoc[`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. | xref:BloombergLP/bslx/VersionFunctions_NonFundamentalImpl-0b.adoc[`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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/StreambufInStream.adoc[`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>`. | xref:BloombergLP/bslx/StreambufOutStream.adoc[`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 [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/TestInStream_getProxy.adoc[`TestInStream_getProxy`] | Return, by value, a test stream proxy for the specified parameterized `stream`. | xref:BloombergLP/bslx/operator_rshift-03a.adoc[`operator>>`] | Right shift operators | xref:BloombergLP/bslx/operator_lshift-0b.adoc[`operator<<`] | Stream insertion operators |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#