[#BloombergLP-bslx-ByteInStream] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslx.adoc[bslx]::ByteInStream :relfileprefix: ../../ :mrdocs: Provide a BDEX input stream that unexternalizes values from a byte buffer. == Synopsis Declared in `<bslx_byteinstream.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class ByteInStream; ---- == Description 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. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/ByteInStream/2constructor-08.adoc[`ByteInStream`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bslx/ByteInStream/2destructor.adoc[`~ByteInStream`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/bslx/ByteInStream/cursor.adoc[`cursor`] | Return the index of the next byte to be extracted from this stream. | xref:BloombergLP/bslx/ByteInStream/data.adoc[`data`] | Return the address of this stream's external memory buffer. | xref:BloombergLP/bslx/ByteInStream/getArrayFloat32.adoc[`getArrayFloat32`] | Extract an array of four‐byte IEEE floats from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayFloat64.adoc[`getArrayFloat64`] | Extract an array of eight‐byte IEEE doubles from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt16.adoc[`getArrayInt16`] | Extract an array of two‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt24.adoc[`getArrayInt24`] | Extract an array of three‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt32.adoc[`getArrayInt32`] | Extract an array of four‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt40.adoc[`getArrayInt40`] | Extract an array of five‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt48.adoc[`getArrayInt48`] | Extract an array of six‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt56.adoc[`getArrayInt56`] | Extract an array of seven‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt64.adoc[`getArrayInt64`] | Extract an array of eight‐byte signed integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayInt8-03.adoc[`getArrayInt8`] | `getArrayInt8` overloads | xref:BloombergLP/bslx/ByteInStream/getArrayUint16.adoc[`getArrayUint16`] | Extract an array of two‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint24.adoc[`getArrayUint24`] | Extract an array of three‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint32.adoc[`getArrayUint32`] | Extract an array of four‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint40.adoc[`getArrayUint40`] | Extract an array of five‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint48.adoc[`getArrayUint48`] | Extract an array of six‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint56.adoc[`getArrayUint56`] | Extract an array of seven‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint64.adoc[`getArrayUint64`] | Extract an array of eight‐byte unsigned integers from this stream. | xref:BloombergLP/bslx/ByteInStream/getArrayUint8-09.adoc[`getArrayUint8`] | `getArrayUint8` overloads | xref:BloombergLP/bslx/ByteInStream/getFloat32.adoc[`getFloat32`] | Assign the next four‐byte IEEE float to `variable`. | xref:BloombergLP/bslx/ByteInStream/getFloat64.adoc[`getFloat64`] | Assign the next eight‐byte IEEE double to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt16.adoc[`getInt16`] | Assign the next two‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt24.adoc[`getInt24`] | Assign the next three‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt32.adoc[`getInt32`] | Assign the next four‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt40.adoc[`getInt40`] | Assign the next five‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt48.adoc[`getInt48`] | Assign the next six‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt56.adoc[`getInt56`] | Assign the next seven‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt64.adoc[`getInt64`] | Assign the next eight‐byte signed integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getInt8-0a.adoc[`getInt8`] | `getInt8` overloads | xref:BloombergLP/bslx/ByteInStream/getLength.adoc[`getLength`] | Extract a compact length value into the specified `length`. | xref:BloombergLP/bslx/ByteInStream/getString.adoc[`getString`] | Extract a length‐prefixed string into the specified `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint16.adoc[`getUint16`] | Assign the next two‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint24.adoc[`getUint24`] | Assign the next three‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint32.adoc[`getUint32`] | Assign the next four‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint40.adoc[`getUint40`] | Assign the next five‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint48.adoc[`getUint48`] | Assign the next six‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint56.adoc[`getUint56`] | Assign the next seven‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint64.adoc[`getUint64`] | Assign the next eight‐byte unsigned integer to `variable`. | xref:BloombergLP/bslx/ByteInStream/getUint8-05.adoc[`getUint8`] | `getUint8` overloads | xref:BloombergLP/bslx/ByteInStream/getVersion.adoc[`getVersion`] | Extract a one‐byte version into the specified `version`. | xref:BloombergLP/bslx/ByteInStream/invalidate.adoc[`invalidate`] | Put this input stream in an invalid state. | xref:BloombergLP/bslx/ByteInStream/isEmpty.adoc[`isEmpty`] | Return `true` if this stream is empty, and `false` otherwise. | xref:BloombergLP/bslx/ByteInStream/isValid.adoc[`isValid`] | Return `true` if this stream is valid, and `false` otherwise. | xref:BloombergLP/bslx/ByteInStream/length.adoc[`length`] | Return the total number of bytes stored in the external memory buffer. | xref:BloombergLP/bslx/ByteInStream/reset-04.adoc[`reset`] | `reset` overloads | xref:BloombergLP/bslx/ByteInStream/2conversion.adoc[`operator void const*`] | Return a non‐zero value if this stream is valid, and 0 otherwise. An invalid stream is a stream for which an input operation was detected to have failed. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslx/operator_lshift-0ae.adoc[BloombergLP::bslx::operator<<]` | Write the specified `object` to the specified output `stream` in some reasonable (multi‐line) format, and return a reference to `stream`. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslx/operator_rshift-038.adoc[`operator>>`] | Read a BDEX‐compliant `value` from the specified input `stream`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#