std::basic_istream::sentry
Aus cppreference.com
<metanoindex/>
<tbody> </tbody>| definiert in Header <istream>
|
||
template< class CharT, class Traits = std::char_traits<CharT>> class std::basic_istream<CharT, Traits>::sentry; |
||
An object of class basic_istream::sentry is constructed in local scope at the beginning of each member function of std::basic_istream that performs input (both formatted and unformatted). Its constructor prepares the input stream: checks if the stream is already in a failed state, flushes the tie()'d output streams, skips leading whitespace if skipws flag is set, and performs other implementation-defined tasks if necessary. All cleanup, if necessary, is performed in the destructor, so that it is guaranteed to happen if exceptions are thrown during input.
Mitglied Typen
traits_type
|
Traits
|
Member-Funktionen
baut die Wache object. All der Zubereitung Aufgaben hier fertig sind Original: constructs the sentry object. All the preparation tasks are done here The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) | |
| finalizes the stream object after formatted input or after exception, if necessary (öffentliche Elementfunktion) | |
operator= [gelöscht] |
nicht kopieren übertragbar Original: not copy assignable The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) |
prüft, ob die Vorbereitung der Stream-Objekt erfolgreich war Original: checks if the preparation of the stream object was successful The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) | |
Beispiel
#include <iostream>
#include <sstream>
struct Foo {
char n[5];
};
std::istream& operator>>(std::istream& is, Foo& f)
{
std::istream::sentry s(is);
if(s)
is.read(f.n, 5);
return is;
}
int main()
{
std::string input = " abcde";
std::istringstream stream(input);
Foo f;
stream >> f;
std::cout.write(f.n, 5);
std::cout << '\n';
}
Output:
abcde
