[#bsl-basic_osyncstream]
= xref:bsl.adoc[bsl]::basic&lowbar;osyncstream
:relfileprefix: ../
:mrdocs:

Forward declaration of `basic&lowbar;osyncstream`&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;osyncstream&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class CHAR&lowbar;TYPE,
    class CHAR&lowbar;TRAITS = char&lowbar;traits&lt;CHAR&lowbar;TYPE&gt;,
    class ALLOCATOR = xref:bsl/allocator-0df.adoc[allocator&lt;CHAR&lowbar;TYPE&gt;]&gt;
class basic&lowbar;osyncstream
    : public std::basic&lowbar;ostream&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS&gt;
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `std::basic&lowbar;ostream&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS&gt;`
| Template class basic&lowbar;ostream&period;
|===

== Types

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_osyncstream/sentry-07.adoc[`sentry`] 
| Performs setup work for output streams&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_osyncstream/allocator_type.adoc[`allocator&lowbar;type`] 
| Allocator type used by this stream&period;
| xref:bsl/basic_osyncstream/char_type.adoc[`char&lowbar;type`] 
| Character type manipulated by this stream&period;
| xref:bsl/basic_osyncstream/int_type.adoc[`int&lowbar;type`] 
| Integer type returned by stream operations&period;
| xref:bsl/basic_osyncstream/off_type.adoc[`off&lowbar;type`] 
| Offset type used by the character traits&period;
| xref:bsl/basic_osyncstream/pos_type.adoc[`pos&lowbar;type`] 
| Position type used by the character traits&period;
| xref:bsl/basic_osyncstream/streambuf_type.adoc[`streambuf&lowbar;type`] 
| Stream buffer type wrapped by this stream&apos;s sync buffer&period;
| xref:bsl/basic_osyncstream/syncbuf_type.adoc[`syncbuf&lowbar;type`] 
| Synchronized stream buffer type used by this output stream&period;
| xref:bsl/basic_osyncstream/traits_type.adoc[`traits&lowbar;type`] 
| Character traits type used by this stream&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_osyncstream/2constructor-08.adoc[`basic&lowbar;osyncstream`]         [.small]#[constructor]#
| Constructors
| xref:bsl/basic_osyncstream/operator_assign.adoc[`operator&equals;`] 
| Move&hyphen;assign from the specified `original`&period;
| xref:bsl/basic_osyncstream/emit.adoc[`emit`] 
| Atomically emit buffered characters to the wrapped stream&period;
| xref:bsl/basic_osyncstream/get_allocator.adoc[`get&lowbar;allocator`] 
| Return the allocator used to supply memory&period;
| xref:bsl/basic_osyncstream/get_wrapped.adoc[`get&lowbar;wrapped`] 
| Return the wrapped buffer&period;
| xref:bsl/basic_osyncstream/rdbuf.adoc[`rdbuf`] 
| Return an address providing modifiable access to the `basic&lowbar;syncbuf` object that is internally used by this stream object to buffer unformatted characters&period;
| xref:bsl/basic_osyncstream/seekp-06.adoc[`seekp`] 
| `seekp` overloads
| xref:bsl/basic_osyncstream/operator_lshift-0cb.adoc[`operator&lt;&lt;`] 
| Left shift operators
|===


== Using Declarations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_osyncstream/flush.adoc[`flush`] 
| Flush the stream buffer (inherited)&period;
| xref:bsl/basic_osyncstream/operator=.adoc[`operator&equals;`] 
| Assign from a base `basic&lowbar;ostream` (inherited)&period;
| xref:bsl/basic_osyncstream/put.adoc[`put`] 
| Insert a single character into the stream (inherited)&period;
| xref:bsl/basic_osyncstream/sentry-06.adoc[`sentry`] 
| Prefixed output operations sentry type inherited from `basic&lowbar;ostream`&period;
| xref:bsl/basic_osyncstream/swap.adoc[`swap`] 
| Exchange this stream with another `basic&lowbar;ostream` (inherited)&period;
| xref:bsl/basic_osyncstream/tellp.adoc[`tellp`] 
| Return the current put position in the output sequence (inherited)&period;
| xref:bsl/basic_osyncstream/write.adoc[`write`] 
| Write a block of characters to the stream (inherited)&period;
|===



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