cpp/io/basic stringstream: Difference between revisions
From cppreference.com
make the description more understandable |
P0408R7 |
||
| Line 3: | Line 3: | ||
{{dcl begin}} | {{dcl begin}} | ||
{{dcl header | sstream}} | {{dcl header | sstream}} | ||
{{dcl rev | {{dcl rev | ||
| =c++11 | = | |||
template< | template< | ||
class CharT, | class CharT, | ||
class Traits = std::char_traits<CharT> | class Traits = std::char_traits<CharT> | ||
> class basic_stringstream; | > class basic_stringstream; | ||
| = | |||
template< | template< | ||
class CharT, | class CharT, | ||
| Line 17: | Line 16: | ||
> class basic_stringstream; | > class basic_stringstream; | ||
}} | }} | ||
{{dcl end}} | {{dcl end}} | ||
| Line 55: | Line 53: | ||
{{dsc h2 | String operations }} | {{dsc h2 | String operations }} | ||
{{dsc inc | cpp/io/basic_stringstream/dsc str | basic_stringstream}} | {{dsc inc | cpp/io/basic_stringstream/dsc str | basic_stringstream}} | ||
{{dsc end}} | {{dsc end}} | ||
| Line 67: | Line 66: | ||
{{cpp/io/ios_base/inherit}} | {{cpp/io/ios_base/inherit}} | ||
deesfritjaptruzh | |||
Revision as of 08:18, 11 February 2020
| Defined in header <sstream>
|
||
template<
class CharT,
class Traits = std::char_traits<CharT>
> class basic_stringstream;
|
(until C++11) | |
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>
> class basic_stringstream;
|
(since C++11) | |
The class template std::basic_stringstream implements input and output operations on string based streams. It effectively stores an instance of std::basic_string and performs the input and output operations on it.
At the low level, the class essentially wraps a raw string device implementation of std::basic_stringbuf into a higher-level interface of std::basic_iostream. The complete interface to unique std::basic_stringbuf members is provided.
Inheritance diagram
Two specializations for common character types are also defined:
Defined in header
<sstream> | |
| Type | Definition |
stringstream
|
basic_stringstream<char>
|
wstringstream
|
basic_stringstream<wchar_t>
|
Member types
| Member type | Definition |
char_type
|
CharT
|
traits_type
|
Traits; the program is ill-formed if Traits::char_type is not CharT.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
allocator_type
|
Allocator
|
Member functions
| constructs the string stream (public member function) | |
(C++11) |
moves the string stream (public member function) |
(C++11) |
swaps two string streams (public member function) |
| returns the underlying raw string device object (public member function) | |
String operations | |
| gets or sets the contents of underlying string device object (public member function) | |
(C++20) |
obtains a view over the contents of underlying string device object (public member function) |
Non-member functions
| specializes the std::swap algorithm (function template) |
Inherited from std::basic_istream
Member functions
Formatted input | |
| extracts formatted data (public member function of std::basic_istream<CharT,Traits>)
| |
Unformatted input | |
| extracts characters (public member function of std::basic_istream<CharT,Traits>)
| |
| reads the next character without extracting it (public member function of std::basic_istream<CharT,Traits>)
| |
| unextracts a character (public member function of std::basic_istream<CharT,Traits>)
| |
| puts a character into input stream (public member function of std::basic_istream<CharT,Traits>)
| |
| extracts characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)
| |
| extracts and discards characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)
| |
| extracts blocks of characters (public member function of std::basic_istream<CharT,Traits>)
| |
| extracts already available blocks of characters (public member function of std::basic_istream<CharT,Traits>)
| |
| returns number of characters extracted by last unformatted input operation (public member function of std::basic_istream<CharT,Traits>)
| |
Positioning | |
| returns the input position indicator (public member function of std::basic_istream<CharT,Traits>)
| |
| sets the input position indicator (public member function of std::basic_istream<CharT,Traits>)
| |
Miscellaneous | |
| synchronizes with the underlying storage device (public member function of std::basic_istream<CharT,Traits>)
| |
Member classes
| implements basic logic for preparation of the stream for input operations (public member class of std::basic_istream<CharT,Traits>)
|
Inherited from std::basic_ostream
Member functions
Formatted output | |
| inserts formatted data (public member function of std::basic_ostream<CharT,Traits>)
| |
Unformatted output | |
| inserts a character (public member function of std::basic_ostream<CharT,Traits>)
| |
| inserts blocks of characters (public member function of std::basic_ostream<CharT,Traits>)
| |
Positioning | |
| returns the output position indicator (public member function of std::basic_ostream<CharT,Traits>)
| |
| sets the output position indicator (public member function of std::basic_ostream<CharT,Traits>)
| |
Miscellaneous | |
| synchronizes with the underlying storage device (public member function of std::basic_ostream<CharT,Traits>)
| |
Member classes
| implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream<CharT,Traits>)
|
Inherited from std::basic_ios
Member types
| Member type | Definition |
char_type
|
CharT
|
traits_type
|
Traits
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
Member functions
State functions | |
| checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>)
| |
| checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>)
| |
| checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>)
| |
| checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>)
| |
| checks if an error has occurred (synonym of std::basic_ios::fail) (public member function of std::basic_ios<CharT,Traits>)
| |
checks if no error has occurred (synonym of !std::basic_ios::fail) (public member function of std::basic_ios<CharT,Traits>)
| |
| returns state flags (public member function of std::basic_ios<CharT,Traits>)
| |
| sets state flags (public member function of std::basic_ios<CharT,Traits>)
| |
| modifies state flags (public member function of std::basic_ios<CharT,Traits>)
| |
Formatting | |
| copies formatting information (public member function of std::basic_ios<CharT,Traits>)
| |
| manages the fill character (public member function of std::basic_ios<CharT,Traits>)
| |
Miscellaneous | |
| manages exception mask (public member function of std::basic_ios<CharT,Traits>)
| |
| sets the locale (public member function of std::basic_ios<CharT,Traits>)
| |
| manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>)
| |
| manages tied stream (public member function of std::basic_ios<CharT,Traits>)
| |
| narrows characters (public member function of std::basic_ios<CharT,Traits>)
| |
| widens characters (public member function of std::basic_ios<CharT,Traits>)
| |
Inherited from std::ios_base
Member functions
Formatting | |
| manages format flags (public member function of std::ios_base)
| |
| sets specific format flag (public member function of std::ios_base)
| |
| clears specific format flag (public member function of std::ios_base)
| |
| manages decimal precision of floating point operations (public member function of std::ios_base)
| |
| manages field width (public member function of std::ios_base)
| |
Locales | |
| sets locale (public member function of std::ios_base)
| |
| returns current locale (public member function of std::ios_base)
| |
Internal extensible array | |
[static] |
returns a program-wide unique integer that is safe to use as index to pword() and iword() (public static member function of std::ios_base)
|
resizes the private storage if necessary and access to the long element at the given index (public member function of std::ios_base)
| |
resizes the private storage if necessary and access to the void* element at the given index (public member function of std::ios_base)
| |
Miscellaneous | |
| registers event callback function (public member function of std::ios_base)
| |
[static] |
sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base)
|
Member classes | |
| stream exception (public member class of std::ios_base)
| |
| initializes standard stream objects (public member class of std::ios_base)
| |
Member types and constants | |||||||||||||||||||||||||||||||||||||||
| Type | Explanation | ||||||||||||||||||||||||||||||||||||||
| stream open mode type
The following constants are also defined:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| formatting flags type
The following constants are also defined:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| state of the stream type
The following constants are also defined:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| seeking direction type
The following constants are also defined:
(typedef) | |||||||||||||||||||||||||||||||||||||||
| specifies event type (enum) | |||||||||||||||||||||||||||||||||||||||
| callback function type (typedef) | |||||||||||||||||||||||||||||||||||||||