Provide a BDEX output stream that externalizes values to a stream buffer.

Synopsis

Declared in <bslx_genericoutstream.h>

template<class STREAMBUF>
class GenericOutStream;

Description

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.

Member Functions

Name

Description

GenericOutStream [constructor]

Create an output byte stream that writes to the specified streamBuf.

~GenericOutStream [destructor]

Destroy this object.

bdexVersionSelector

Return the versionSelector to be used with operator<< for BDEX streaming as per the bslx package‐level documentation.

flush

If this stream is valid, invoke the pubsync method on the underlying stream supplied at construction of this object; otherwise, this function has no effect.

invalidate

Put this output stream in an invalid state. This function has no effect if this stream is already invalid.

isValid

Return true if this stream is valid, and false otherwise.

putArrayFloat32

Write an array of four‐byte IEEE single‐precision values to this stream.

putArrayFloat64

Write an array of eight‐byte IEEE double‐precision values to this stream.

putArrayInt16

Write an array of two‐byte signed integers to this stream.

putArrayInt24

Write an array of three‐byte signed integers to this stream.

putArrayInt32

Write an array of four‐byte signed integers to this stream.

putArrayInt40

Write an array of five‐byte signed integers to this stream.

putArrayInt48

Write an array of six‐byte signed integers to this stream.

putArrayInt56

Write an array of seven‐byte signed integers to this stream.

putArrayInt64

Write an array of eight‐byte signed integers to this stream.

putArrayInt8

putArrayInt8 overloads

putArrayUint16

Write an array of two‐byte unsigned integers to this stream.

putArrayUint24

Write an array of three‐byte unsigned integers to this stream.

putArrayUint32

Write an array of four‐byte unsigned integers to this stream.

putArrayUint40

Write an array of five‐byte unsigned integers to this stream.

putArrayUint48

Write an array of six‐byte unsigned integers to this stream.

putArrayUint56

Write an array of seven‐byte unsigned integers to this stream.

putArrayUint64

Write an array of eight‐byte unsigned integers to this stream.

putArrayUint8

putArrayUint8 overloads

putFloat32

Write a four‐byte IEEE single‐precision value to this stream.

putFloat64

Write an eight‐byte IEEE double‐precision value to this stream.

putInt16

Write a two‐byte signed integer to this stream.

putInt24

Write a three‐byte signed integer to this stream.

putInt32

Write a four‐byte signed integer to this stream.

putInt40

Write a five‐byte signed integer to this stream.

putInt48

Write a six‐byte signed integer to this stream.

putInt56

Write a seven‐byte signed integer to this stream.

putInt64

Write an eight‐byte signed integer to this stream.

putInt8

Write a one‐byte signed integer to this stream.

putLength

Write the specified length to this stream using BDEX length encoding.

putString

Write the length and characters of the specified value to this stream.

putUint16

Write a two‐byte unsigned integer to this stream.

putUint24

Write a three‐byte unsigned integer to this stream.

putUint32

Write the 32‐bit unsigned value to this stream.

putUint40

Write a five‐byte unsigned integer to this stream.

putUint48

Write a six‐byte unsigned integer to this stream.

putUint56

Write a seven‐byte unsigned integer to this stream.

putUint64

Write an eight‐byte unsigned integer to this stream.

putUint8

Write a one‐byte unsigned integer to this stream.

putVersion

Write the specified one‐byte version to this stream.

operator void const*

Return a non‐null pointer if this stream is valid, and null otherwise.

Non-Member Functions

Name

Description

operator<<

Write the BDEX‐compliant value to the specified output stream.

Created with MrDocs