Defined in header <spanstream> | ||
---|---|---|
template< class CharT, class Traits = std::char_traits<CharT> > class basic_spanstream : public basic_iostream<CharT, Traits> | (since C++23) |
The class template std::basic_spanstream
implements input and output operations on streams based on fixed buffers.
At the low level, the class essentially wraps a raw device implementation of std::basic_spanbuf
into a higher-level interface of std::basic_iostream
. The complete interface to unique std::basic_spanbuf
members is provided.
Typical implementations of std::basic_spanstream
only add one member subobject: the wrapped std::basic_spanbuf
.
Inheritance diagram.
Several typedefs for common character types are provided:
Defined in header <spanstream> |
|
---|---|
Type | Definition |
std::spanstream | std::basic_spanstream<char> |
std::wspanstream | std::basic_spanstream<wchar_t> |
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 |
(C++23) | constructs the basic_spanstream (public member function) |
(destructor)
[virtual] (C++23) | destroys the basic_spanstream (virtual public member function) |
(C++23) | move-assignments the basic_spanstream (public member function) |
(C++23) | swaps two basic_spanstream objects (public member function) |
(C++23) | obtains the address of the wrapped raw span device object (public member function) |
Underlying buffer operations |
|
(C++23) | gets or sets the underlying buffer of the wrapped span device object (public member function) |
(C++23) | specializes the std::swap algorithm (function template) |
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> ) |
implements basic logic for preparation of the stream for input operations (public member class of std::basic_istream<CharT,Traits> ) |
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> ) |
implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream<CharT,Traits> ) |
Member type | Definition |
---|---|
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
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> ) |
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) |
Feature-test macro | Value | Std | Comment |
---|---|---|---|
__cpp_lib_spanstream | 202106L | (C++23) |
std::spanbuf , std::spanstream |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_spanstream