[#bsl-basic_istringstream] = xref:bsl.adoc[bsl]::basic_istringstream :relfileprefix: ../ :mrdocs: 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::basic_string`. == Synopsis Declared in `<bslstl_istringstream.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class CHAR_TYPE, class CHAR_TRAITS = char_traits<CHAR_TYPE>, class ALLOCATOR = xref:bsl/allocator-0df.adoc[allocator<CHAR_TYPE>]> class basic_istringstream : public std::basic_istream<CHAR_TYPE, CHAR_TRAITS> ---- == Base Classes [cols="1,4"] |=== | Name| Description | `std::basic_istream<CHAR_TYPE, CHAR_TRAITS>` | Template class basic_istream. |=== == Types [cols="1,4"] |=== | Name| Description | xref:bsl/basic_istringstream/sentry.adoc[`sentry`] | Performs setup work for input streams. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:bsl/basic_istringstream/__ctype_type.adoc[`__ctype_type`] | | xref:bsl/basic_istringstream/__ios_type.adoc[`__ios_type`] | | xref:bsl/basic_istringstream/__istream_type.adoc[`__istream_type`] | | xref:bsl/basic_istringstream/__num_get_type.adoc[`__num_get_type`] | | xref:bsl/basic_istringstream/__streambuf_type.adoc[`__streambuf_type`] | | xref:bsl/basic_istringstream/allocator_type.adoc[`allocator_type`] | This `typedef` is an alias to the (template parameter) `ALLOCATOR`. | xref:bsl/basic_istringstream/char_type.adoc[`char_type`] | Alias for the character type of this stream. | xref:bsl/basic_istringstream/int_type.adoc[`int_type`] | This `typedef` is an alias to `traits_type::int_type`. | xref:bsl/basic_istringstream/off_type.adoc[`off_type`] | This `typedef` is an alias to `traits_type::off_type`. | xref:bsl/basic_istringstream/pos_type.adoc[`pos_type`] | This `typedef` is an alias to `traits_type::pos_type`. | xref:bsl/basic_istringstream/traits_type.adoc[`traits_type`] | This `typedef` is an alias to the (template parameter) `CHAR_TRAITS`. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:bsl/basic_istringstream/2constructor-00b.adoc[`basic_istringstream`] [.small]#[constructor]# | Constructors | xref:bsl/basic_istringstream/operator_assign-0f.adoc[`operator=`] | Assign to this object the value of the specified `rhs`, and return a reference providing modifiable access to this object. The contents of `rhs` are move‐assigned to this object. `rhs` is left in a valid but unspecified state. | xref:bsl/basic_istringstream/gcount.adoc[`gcount`] | Character counting | xref:bsl/basic_istringstream/get-0c.adoc[`get`] | `get` overloads | xref:bsl/basic_istringstream/getline-01.adoc[`getline`] | String extraction. | xref:bsl/basic_istringstream/ignore-0e.adoc[`ignore`] | Discarding characters | xref:bsl/basic_istringstream/operator_rshift-09.adoc[`operator>>`] | Right shift operators | xref:bsl/basic_istringstream/peek.adoc[`peek`] | Looking ahead in the stream | xref:bsl/basic_istringstream/putback.adoc[`putback`] | Unextracting a single character. | xref:bsl/basic_istringstream/rdbuf.adoc[`rdbuf`] | Return an address providing modifiable access to the `basic_stringbuf` object that is internally used by this string stream to buffer unformatted characters. | xref:bsl/basic_istringstream/read.adoc[`read`] | Extraction without delimiters. | xref:bsl/basic_istringstream/readsome.adoc[`readsome`] | Extraction until the buffer is exhausted, but no more. | xref:bsl/basic_istringstream/seekg-0b.adoc[`seekg`] | Changing the current read position. | 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 the value of the specified `other` object. This method provides the no‐throw exception‐safety guarantee if `*this` and `other` allocators compare equal. The behavior is undefined unless either `*this` and `other` allocators compare equal or `propagate_on_container_swap` is `true`. Note that this function is only available for C++11 (and later) language standards because it requires that `swap` be provided on the (platform supplied) base class for this type. | xref:bsl/basic_istringstream/sync.adoc[`sync`] | Synchronizing the stream buffer. | xref:bsl/basic_istringstream/tellg.adoc[`tellg`] | Getting the current read position. | xref:bsl/basic_istringstream/unget.adoc[`unget`] | Unextracting the previous character. | xref:bsl/basic_istringstream/view.adoc[`view`] | Return a view of the internally buffered sequence of characters maintained by this stream object. |=== == Protected Member Functions [cols="1"] |=== | Name | xref:bsl/basic_istringstream/operator_assign-0d.adoc[`operator=`] | xref:bsl/basic_istringstream/_M_extract.adoc[`_M_extract`] | xref:bsl/basic_istringstream/swap-07.adoc[`swap`] |=== == Protected Data Members [cols="1,4"] |=== | Name| Description | xref:bsl/basic_istringstream/_M_gcount.adoc[`_M_gcount`] | The number of characters extracted in the previous unformatted function; see gcount(). |=== == 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. This method provides the no‐throw exception‐safety guarantee if `a` and `b` allocators compare equal. Note that this function is only available for C++11 (and later) language standards. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#