[#bsl-basic_istringstream-operator_rshift-080]
= xref:bsl.adoc[bsl]::xref:bsl/basic_istringstream.adoc[basic&lowbar;istringstream]::operator&gt;&gt;
:relfileprefix: ../../
:mrdocs:

Extracting into another streambuf&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lowbar;&lowbar;istream&lowbar;type&
operator&gt;&gt;(&lowbar;&lowbar;streambuf&lowbar;type* &lowbar;&lowbar;sb);
----

== Description

This function behaves like one of the basic arithmetic extractors, in that it also constructs a sentry object and has the same error handling behavior&period;

If `&lowbar;&lowbar;sb` is NULL, the stream will set failbit in its error state&period;

Characters are extracted from this stream and inserted into the `&lowbar;&lowbar;sb` streambuf until one of the following occurs&colon;

* the input stream reaches end&hyphen;of&hyphen;file,
* insertion into the output buffer fails (in this case, the character that would have been inserted is not extracted), or
* an exception occurs (and in this case is caught)

If the function inserts no characters, failbit is set&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *&lowbar;&lowbar;sb*
| A pointer to a streambuf
|===


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