[#BloombergLP-bdlsb-MemOutStreamBuf]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlsb.adoc[bdlsb]::MemOutStreamBuf
:relfileprefix: ../../
:mrdocs:

This `class` implements the output functionality of the `basic&lowbar;streambuf` protocol, using a user&hyphen;supplied or default `bslma` allocator to supply memory&period;

== Synopsis

Declared in `&lt;bdlsb&lowbar;memoutstreambuf&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class MemOutStreamBuf
    : public std::streambuf
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `std::streambuf`
| 
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlsb/MemOutStreamBuf/2constructor-00.adoc[`MemOutStreamBuf`]         [.small]#[constructor]#
| Create an empty stream buffer&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/2constructor-07.adoc[`MemOutStreamBuf`]         [.small]#[constructor]#
| Create an empty stream buffer with the specified initial capacity&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/2destructor.adoc[`&#126;MemOutStreamBuf`] [.small]#[destructor]# [.small]#[virtual]#
| Destroy this stream buffer&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/capacity.adoc[`capacity`] 
| Return the current capacity of the buffer managed by this stream buffer&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/data.adoc[`data`] 
| Return the address of the non&hyphen;modifiable character buffer managed by this stream buffer&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/length.adoc[`length`] 
| Return the number of valid characters in this stream buffer&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/reserveCapacity.adoc[`reserveCapacity`] 
| Reserve capacity for at least the specified number of characters&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/reset.adoc[`reset`] 
| Reset this stream buffer to its default&hyphen;constructed empty state&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;MemOutStreamBuf, UsesBslmaAllocator&gt;`] 
| Declare `MemOutStreamBuf` as using a `bslma` allocator&period;
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlsb/MemOutStreamBuf/overflow.adoc[`overflow`]  [.small]#[virtual]#
| Append a character to this stream buffer, growing as needed&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/seekoff.adoc[`seekoff`]  [.small]#[virtual]#
| Set the put position relative to the specified base and return it&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/seekpos.adoc[`seekpos`]  [.small]#[virtual]#
| Set the put position to the specified absolute position and return it&period;
| xref:BloombergLP/bdlsb/MemOutStreamBuf/xsputn.adoc[`xsputn`]  [.small]#[virtual]#
| Write characters from a buffer into this stream buffer&period;
|===



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