Difference between revisions of "cpp/io/basic stringstream"
m (Text replace - "{{mark c++11 version}}" to "{{mark since c++11}}") |
m (→Exposition-only members: +header.) |
||
(26 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{cpp/title|basic_stringstream}} | {{cpp/title|basic_stringstream}} | ||
− | {{cpp/io/basic_stringstream/ | + | {{cpp/io/basic_stringstream/navbar}} |
− | {{ddcl | + | {{ddcl|header=sstream|1= |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
template< | template< | ||
class CharT, | class CharT, | ||
class Traits = std::char_traits<CharT>, | class Traits = std::char_traits<CharT>, | ||
class Allocator = std::allocator<CharT> | class Allocator = std::allocator<CharT> | ||
− | > class basic_stringstream; | + | > class basic_stringstream |
+ | : public basic_iostream<CharT, Traits>; | ||
}} | }} | ||
− | |||
− | The class template {{tt|basic_stringstream}} implements input | + | The class template {{tt|std::basic_stringstream}} implements input and output operations on string based streams. It effectively stores an instance of {{lc|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 {{lc|std::basic_stringbuf}} into a higher-level interface of {{lc|std::basic_iostream}}. The complete interface to unique {{lc|std::basic_stringbuf}} members is provided. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | }} | + | |
− | + | {{inheritance diagram/std-basic_stringstream}} | |
− | + | {{cpp/basic char typedefs|stringstream|sstream}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===Member types=== | ===Member types=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc hitem|Member type|Definition}} |
− | {{ | + | {{dsc inc|cpp/io/dsc char_type}} |
− | {{ | + | {{dsc inc|cpp/io/dsc traits_type}} |
− | {{ | + | {{dsc inc|cpp/io/dsc int_type}} |
− | {{ | + | {{dsc inc|cpp/io/dsc pos_type}} |
− | {{ | + | {{dsc inc|cpp/io/dsc off_type}} |
− | {{ | + | {{dsc inc|cpp/io/dsc allocator_type}} |
− | {{ | + | {{dsc end}} |
+ | |||
+ | ===Exposition-only members=== | ||
+ | {{dsc begin}} | ||
+ | {{dsc hitem|Name|Definition}} | ||
+ | {{dsc expos mem obj|sb|the {{c/core|std::basic_stringbuf<CharT, Traits, Allocator>}} used as the underlying buffer}} | ||
+ | {{dsc end}} | ||
===Member functions=== | ===Member functions=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc constructor|basic_stringstream}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc operator{{=}}|basic_stringstream}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc swap|basic_stringstream}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc rdbuf|basic_stringstream}} |
− | {{ | + | {{dsc h2|String operations}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc str|basic_stringstream}} |
− | {{ | + | {{dsc inc|cpp/io/basic_stringstream/dsc view|basic_stringstream}} |
+ | {{dsc end}} | ||
+ | |||
+ | ===Non-member functions=== | ||
+ | {{dsc begin}} | ||
+ | {{dsc inc|cpp/io/basic_stringstream/dsc swap2|basic_istringstream}} | ||
+ | {{dsc end}} | ||
{{cpp/io/basic_istream/inherit}} | {{cpp/io/basic_istream/inherit}} | ||
Line 63: | Line 56: | ||
{{cpp/io/basic_ios/inherit}} | {{cpp/io/basic_ios/inherit}} | ||
{{cpp/io/ios_base/inherit}} | {{cpp/io/ios_base/inherit}} | ||
+ | |||
+ | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} |
Latest revision as of 11:51, 13 September 2023
Defined in header <sstream>
|
||
template< class CharT, |
||
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
Several typedefs for common character types are provided:
Defined in header
<sstream> | |
Type | Definition |
std::stringstream
|
std::basic_stringstream<char> |
std::wstringstream
|
std::basic_stringstream<wchar_t> |
Contents |
[edit] 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
|
[edit] Exposition-only members
Name | Definition |
sb
|
the std::basic_stringbuf<CharT, Traits, Allocator> used as the underlying buffer (exposition-only member object*) |
[edit] 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) |
[edit] 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 fail()) (public member function of std::basic_ios<CharT,Traits> )
| |
checks if no error has occurred (synonym of ! 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) |