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

Constructors

== Synopses

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

Create a `basic&lowbar;osyncstream` object by moving the contents of the specified `original` object&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:bsl/basic_osyncstream/2constructor-02.adoc[basic&lowbar;osyncstream](xref:bsl/basic_osyncstream.adoc[basic&lowbar;osyncstream]&& original) noexcept;
----

[.small]#xref:bsl/basic_osyncstream/2constructor-02.adoc[_» more&period;&period;&period;_]#

Create a `basic&lowbar;osycnstream` object that will forward stream output to `rdbuf` of the specified `stream`&period; Optionally specify an `allocator` used to supply memory&period; If `allocator` is not supplied, a default&hyphen;constructed object of the (template parameter) `ALLOCATOR` type is used&period; If the `ALLOCATOR` argument is of type `bsl&colon;&colon;allocator` (the default), then `allocator`, if supplied, shall be convertible to `bslma&colon;&colon;Allocator &ast;`&period; If the `ALLOCATOR` argument is of type `bsl&colon;&colon;allocator` and `allocator` is not supplied, the currently installed default allocator will be used to supply memory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:bsl/basic_osyncstream/2constructor-01.adoc[basic&lowbar;osyncstream](
    std::basic&lowbar;ostream&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS&gt;& stream,
    ALLOCATOR const& allocator = ALLOCATOR());
----

[.small]#xref:bsl/basic_osyncstream/2constructor-01.adoc[_» more&period;&period;&period;_]#

Create a `basic&lowbar;osyncstream` object having the same value as the specified `original` object by moving the contents of `original` to the newly&hyphen;created object&period; Optionally specify an `allocator` used to supply memory&period; `original&period;get&lowbar;wrapped() &equals;&equals; nullptr` after the call&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:bsl/basic_osyncstream/2constructor-00.adoc[basic&lowbar;osyncstream](
    xref:bsl/basic_osyncstream.adoc[basic&lowbar;osyncstream]&& original,
    ALLOCATOR const& allocator) noexcept;
----

[.small]#xref:bsl/basic_osyncstream/2constructor-00.adoc[_» more&period;&period;&period;_]#

Create a `basic&lowbar;osycnstream` object that will forward stream output to the specified `wrapped` buffer&period; Optionally specify an `allocator` used to supply memory&period; If `allocator` is not supplied, a default&hyphen;constructed object of the (template parameter) `ALLOCATOR` type is used&period; If the `ALLOCATOR` argument is of type `bsl&colon;&colon;allocator` (the default), then `allocator`, if supplied, shall be convertible to `bslma&colon;&colon;Allocator &ast;`&period; If the `ALLOCATOR` argument is of type `bsl&colon;&colon;allocator` and `allocator` is not supplied, the currently installed default allocator will be used to supply memory&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
explicit
xref:bsl/basic_osyncstream/2constructor-04.adoc[basic&lowbar;osyncstream](
    xref:bsl/basic_osyncstream/streambuf_type.adoc[streambuf&lowbar;type]* wrapped,
    ALLOCATOR const& allocator = ALLOCATOR());
----

[.small]#xref:bsl/basic_osyncstream/2constructor-04.adoc[_» more&period;&period;&period;_]#


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