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

Standard input stream backed by a `bsl&colon;&colon;basic&lowbar;string` character sequence&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;istringstream&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;istringstream
    : public std::basic&lowbar;istream&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS&gt;
----

== Description

This class implements a standard input stream that provides a constructor and manipulator for setting the sequence of characters from which input is streamed to a supplied `bsl&colon;&colon;basic&lowbar;string`&period;

== Base Classes

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

== Types

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


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_istringstream/__ctype_type.adoc[`&lowbar;&lowbar;ctype&lowbar;type`] 
| 
| xref:bsl/basic_istringstream/__ios_type.adoc[`&lowbar;&lowbar;ios&lowbar;type`] 
| 
| xref:bsl/basic_istringstream/__istream_type.adoc[`&lowbar;&lowbar;istream&lowbar;type`] 
| 
| xref:bsl/basic_istringstream/__num_get_type.adoc[`&lowbar;&lowbar;num&lowbar;get&lowbar;type`] 
| 
| xref:bsl/basic_istringstream/__streambuf_type.adoc[`&lowbar;&lowbar;streambuf&lowbar;type`] 
| 
| xref:bsl/basic_istringstream/allocator_type.adoc[`allocator&lowbar;type`] 
| This `typedef` is an alias to the (template parameter) `ALLOCATOR`&period;
| xref:bsl/basic_istringstream/char_type.adoc[`char&lowbar;type`] 
| Alias for the character type of this stream&period;
| xref:bsl/basic_istringstream/int_type.adoc[`int&lowbar;type`] 
| This `typedef` is an alias to `traits&lowbar;type&colon;&colon;int&lowbar;type`&period;
| xref:bsl/basic_istringstream/off_type.adoc[`off&lowbar;type`] 
| This `typedef` is an alias to `traits&lowbar;type&colon;&colon;off&lowbar;type`&period;
| xref:bsl/basic_istringstream/pos_type.adoc[`pos&lowbar;type`] 
| This `typedef` is an alias to `traits&lowbar;type&colon;&colon;pos&lowbar;type`&period;
| xref:bsl/basic_istringstream/traits_type.adoc[`traits&lowbar;type`] 
| This `typedef` is an alias to the (template parameter) `CHAR&lowbar;TRAITS`&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_istringstream/2constructor-00b.adoc[`basic&lowbar;istringstream`]         [.small]#[constructor]#
| Constructors
| xref:bsl/basic_istringstream/operator_assign-0f.adoc[`operator&equals;`] 
| Move&hyphen;assign from the specified `rhs`&period;
| xref:bsl/basic_istringstream/gcount-0f.adoc[`gcount`] 
| Character counting
| xref:bsl/basic_istringstream/get-0c.adoc[`get`] 
| `get` overloads
| xref:bsl/basic_istringstream/getline-01.adoc[`getline`] 
| `getline` overloads
| xref:bsl/basic_istringstream/ignore-0e.adoc[`ignore`] 
| Discarding characters
| xref:bsl/basic_istringstream/operator_rshift-09c.adoc[`operator&gt;&gt;`] 
| Right shift operators
| xref:bsl/basic_istringstream/peek-0c.adoc[`peek`] 
| Looking ahead in the stream
| xref:bsl/basic_istringstream/putback-08.adoc[`putback`] 
| Unextracting a single character&period;
| xref:bsl/basic_istringstream/rdbuf.adoc[`rdbuf`] 
| Return an address providing modifiable access to the `basic&lowbar;stringbuf` object that is internally used by this string stream to buffer unformatted characters&period;
| xref:bsl/basic_istringstream/read-0c.adoc[`read`] 
| Extraction without delimiters&period;
| xref:bsl/basic_istringstream/readsome-00.adoc[`readsome`] 
| Extraction until the buffer is exhausted, but no more&period;
| xref:bsl/basic_istringstream/seekg-0b.adoc[`seekg`] 
| `seekg` overloads
| xref:bsl/basic_istringstream/str-08.adoc[`str`] 
| `str` overloads
| xref:bsl/basic_istringstream/swap-0e.adoc[`swap`] 
| Efficiently exchange the value of this object with `other`&period;
| xref:bsl/basic_istringstream/sync-07.adoc[`sync`] 
| Synchronizing the stream buffer&period;
| xref:bsl/basic_istringstream/tellg-05.adoc[`tellg`] 
| Getting the current read position&period;
| xref:bsl/basic_istringstream/unget-005.adoc[`unget`] 
| Unextracting the previous character&period;
| xref:bsl/basic_istringstream/view.adoc[`view`] 
| Return a view of the internally buffered sequence of characters maintained by this stream object&period;
|===


== Using Declarations

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_istringstream/gcount-0a.adoc[`gcount`] 
| Return the number of characters extracted by the last unformatted input&period;
| xref:bsl/basic_istringstream/ignore-05.adoc[`ignore`] 
| Discard characters from the stream (inherited)&period;
| xref:bsl/basic_istringstream/operator=.adoc[`operator&equals;`] 
| Assign from a base `basic&lowbar;istream` (inherited)&period;
| xref:bsl/basic_istringstream/peek-05.adoc[`peek`] 
| Return the next character without extracting it (inherited)&period;
| xref:bsl/basic_istringstream/putback-09.adoc[`putback`] 
| Push a character back onto the input sequence (inherited)&period;
| xref:bsl/basic_istringstream/read-02.adoc[`read`] 
| Extract a block of characters into a buffer (inherited)&period;
| xref:bsl/basic_istringstream/readsome-0a.adoc[`readsome`] 
| Extract available characters into a buffer (inherited)&period;
| xref:bsl/basic_istringstream/sentry-05.adoc[`sentry`] 
| Prefixed input operations sentry type inherited from `basic&lowbar;istream`&period;
| xref:bsl/basic_istringstream/swap-04.adoc[`swap`] 
| Exchange this stream with another `basic&lowbar;istream` (inherited)&period;
| xref:bsl/basic_istringstream/sync-0c.adoc[`sync`] 
| Synchronize the stream buffer with the underlying sequence (inherited)&period;
| xref:bsl/basic_istringstream/tellg-0c.adoc[`tellg`] 
| Return the current get position in the input sequence (inherited)&period;
| xref:bsl/basic_istringstream/unget-00f.adoc[`unget`] 
| Put the most recently extracted character back (inherited)&period;
|===


== Protected Member Functions

[cols="1"]
|===
| Name
| xref:bsl/basic_istringstream/operator_assign-0d.adoc[`operator&equals;`] 
| xref:bsl/basic_istringstream/_M_extract.adoc[`&lowbar;M&lowbar;extract`] 
| xref:bsl/basic_istringstream/swap-07.adoc[`swap`] 
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:bsl/basic_istringstream/_M_gcount.adoc[`&lowbar;M&lowbar;gcount`] 
| The number of characters extracted in the previous unformatted function&semi; see gcount()&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/swap-0d4.adoc[`swap`]
| Efficiently exchange the values of the specified `a` and `b` objects&period;
|===


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