template<class STREAMBUF>
class bslx::GenericInStream< STREAMBUF >
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.
See bslx_genericinstream
template<class STREAMBUF >
Assign to the specified variables
the consecutive four-byte IEEE single-precision floating-point numbers (in host byte order) comprised of each of the specified numVariables
four-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity.
template<class STREAMBUF >
Assign to the specified variables
the consecutive eight-byte IEEE double-precision floating-point numbers (in host byte order) comprised of each of the specified numVariables
eight-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity.
template<class STREAMBUF >
Assign to the specified variables
the consecutive two-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
two-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive three-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
three-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numValues
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive four-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
four-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive five-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
five-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive six-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
six-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive seven-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
seven-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive eight-byte, two's complement integers (in host byte order) comprised of each of the specified numVariables
eight-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive one-byte, two's complement integers comprised of each of the specified numVariables
one-byte sequences of this stream at the current cursor location, update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be sign-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive two-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
two-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive three-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
three-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive four-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
four-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive five-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
five-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive six-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
six-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive seven-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
seven-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive eight-byte, two's complement unsigned integers (in host byte order) comprised of each of the specified numVariables
eight-byte sequences of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variables
the consecutive one-byte, two's complement unsigned integers comprised of each of the specified numVariables
one-byte sequences of this stream at the current cursor location, update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variables
is undefined. The behavior is undefined unless 0 <= numVariables
and variables
has sufficient capacity. Note that each of the values will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the eight-byte IEEE double-precision floating-point number (in host byte order) comprised of the eight bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined.
template<class STREAMBUF >
Assign to the specified variable
the two-byte, two's complement integer (in host byte order) comprised of the two bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the three-byte, two's complement integer (in host byte order) comprised of the three bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the four-byte, two's complement integer (in host byte order) comprised of the four bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the five-byte, two's complement integer (in host byte order) comprised of the five bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the six-byte, two's complement integer (in host byte order) comprised of the six bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the seven-byte, two's complement integer (in host byte order) comprised of the seven bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the eight-byte, two's complement integer (in host byte order) comprised of the eight bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
Assign to the specified variable
the one-byte, two's complement integer comprised of the one byte of this stream at the current cursor location, update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be sign-extended.
template<class STREAMBUF >
If the most-significant bit of the one byte of this stream at the current cursor location is set, assign to the specified length
the four-byte, two's complement integer (in host byte order) comprised of the four bytes of this stream at the current cursor location (in network byte order) with the most-significant bit unset; otherwise, assign to length
the one-byte, two's complement integer comprised of the one byte of this stream at the current cursor location. Update the cursor location and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of length
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the two-byte, two's complement unsigned integer (in host byte order) comprised of the two bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the three-byte, two's complement unsigned integer (in host byte order) comprised of the three bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the four-byte, two's complement unsigned integer (in host byte order) comprised of the four bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the five-byte, two's complement unsigned integer (in host byte order) comprised of the five bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the six-byte, two's complement unsigned integer (in host byte order) comprised of the six bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the seven-byte, two's complement unsigned integer (in host byte order) comprised of the seven bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the eight-byte, two's complement unsigned integer (in host byte order) comprised of the eight bytes of this stream at the current cursor location (in network byte order), update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified variable
the one-byte, two's complement unsigned integer comprised of the one byte of this stream at the current cursor location, update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of variable
is undefined. Note that the value will be zero-extended.
template<class STREAMBUF >
Assign to the specified version
the one-byte, two's complement unsigned integer comprised of the one byte of this stream at the current cursor location, update the cursor location, and return a reference to this stream. If this stream is initially invalid, this operation has no effect. If this function otherwise fails to extract a valid value, this stream is marked invalid and the value of version
is undefined. Note that the value will be zero-extended.