[#BloombergLP-bslx-GenericInStream]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslx.adoc[bslx]::GenericInStream
:relfileprefix: ../../
:mrdocs:

Parameterized input stream for unexternalizing fundamental types&period;

== Synopsis

Declared in `&lt;bslx&lowbar;genericinstream&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class STREAMBUF&gt;
class GenericInStream;
----

== Description

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslx/GenericInStream/2constructor.adoc[`GenericInStream`]         [.small]#[constructor]#
| Create an input byte stream that reads its input from the specified `streamBuf`&period;
| xref:BloombergLP/bslx/GenericInStream/2destructor.adoc[`&#126;GenericInStream`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayFloat32.adoc[`getArrayFloat32`] 
| Extract an array of four&hyphen;byte IEEE floats from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayFloat64.adoc[`getArrayFloat64`] 
| Extract an array of eight&hyphen;byte IEEE doubles from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt16.adoc[`getArrayInt16`] 
| Extract an array of two&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt24.adoc[`getArrayInt24`] 
| Extract an array of three&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt32.adoc[`getArrayInt32`] 
| Extract an array of four&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt40.adoc[`getArrayInt40`] 
| Extract an array of five&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt48.adoc[`getArrayInt48`] 
| Extract an array of six&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt56.adoc[`getArrayInt56`] 
| Extract an array of seven&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt64.adoc[`getArrayInt64`] 
| Extract an array of eight&hyphen;byte signed integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayInt8-0f.adoc[`getArrayInt8`] 
| `getArrayInt8` overloads
| xref:BloombergLP/bslx/GenericInStream/getArrayUint16.adoc[`getArrayUint16`] 
| Extract an array of two&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint24.adoc[`getArrayUint24`] 
| Extract an array of three&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint32.adoc[`getArrayUint32`] 
| Extract an array of four&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint40.adoc[`getArrayUint40`] 
| Extract an array of five&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint48.adoc[`getArrayUint48`] 
| Extract an array of six&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint56.adoc[`getArrayUint56`] 
| Extract an array of seven&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint64.adoc[`getArrayUint64`] 
| Extract an array of eight&hyphen;byte unsigned integers from this stream&period;
| xref:BloombergLP/bslx/GenericInStream/getArrayUint8-01.adoc[`getArrayUint8`] 
| `getArrayUint8` overloads
| xref:BloombergLP/bslx/GenericInStream/getFloat32.adoc[`getFloat32`] 
| Extract a four&hyphen;byte IEEE float into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getFloat64.adoc[`getFloat64`] 
| Extract an eight&hyphen;byte IEEE double into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt16.adoc[`getInt16`] 
| Extract a two&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt24.adoc[`getInt24`] 
| Extract a three&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt32.adoc[`getInt32`] 
| Extract a four&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt40.adoc[`getInt40`] 
| Extract a five&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt48.adoc[`getInt48`] 
| Extract a six&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt56.adoc[`getInt56`] 
| Extract a seven&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt64.adoc[`getInt64`] 
| Extract an eight&hyphen;byte signed integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getInt8-01.adoc[`getInt8`] 
| `getInt8` overloads
| xref:BloombergLP/bslx/GenericInStream/getLength.adoc[`getLength`] 
| Extract a BDEX&hyphen;encoded length into the specified `length`&period;
| xref:BloombergLP/bslx/GenericInStream/getString.adoc[`getString`] 
| Extract a BDEX&hyphen;encoded string into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint16.adoc[`getUint16`] 
| Read a 16&hyphen;bit unsigned integer into `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint24.adoc[`getUint24`] 
| Extract a three&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint32.adoc[`getUint32`] 
| Extract a four&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint40.adoc[`getUint40`] 
| Extract a five&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint48.adoc[`getUint48`] 
| Extract a six&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint56.adoc[`getUint56`] 
| Extract a seven&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint64.adoc[`getUint64`] 
| Extract an eight&hyphen;byte unsigned integer into the specified `variable`&period;
| xref:BloombergLP/bslx/GenericInStream/getUint8-06.adoc[`getUint8`] 
| `getUint8` overloads
| xref:BloombergLP/bslx/GenericInStream/getVersion.adoc[`getVersion`] 
| Extract a one&hyphen;byte version number into the specified `version`&period;
| xref:BloombergLP/bslx/GenericInStream/invalidate.adoc[`invalidate`] 
| Put this input stream in an invalid state&period;
| xref:BloombergLP/bslx/GenericInStream/isValid.adoc[`isValid`] 
| Return `true` if this stream is valid, and `false` otherwise&period;
| xref:BloombergLP/bslx/GenericInStream/2conversion.adoc[`operator void const*`] 
| Return a non&hyphen;zero value if this stream is valid, and 0 otherwise&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslx/operator_rshift-07.adoc[`operator&gt;&gt;`]
| Read the specified `value` from the specified input `stream`&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
