libstdc++
|
Public Types | |
typedef ctype< _CharT > | __ctype_type |
typedef basic_filebuf< char_type, traits_type > | __filebuf_type |
typedef basic_ios< _CharT, _Traits > | __ios_type |
typedef basic_istream< char_type, traits_type > | __istream_type |
typedef num_get< _CharT, istreambuf_iterator< _CharT, _Traits > > | __num_get_type |
typedef basic_streambuf< _CharT, _Traits > | __streambuf_type |
typedef _CharT | char_type |
typedef traits_type::int_type | int_type |
typedef traits_type::off_type | off_type |
typedef traits_type::pos_type | pos_type |
typedef _Traits | traits_type |
Public Member Functions | |
basic_ifstream () | |
basic_ifstream (basic_ifstream &&__rhs) | |
basic_ifstream (const basic_ifstream &)=delete | |
basic_ifstream (const char *__s, ios_base::openmode __mode=ios_base::in) | |
basic_ifstream (const std::string &__s, ios_base::openmode __mode=ios_base::in) | |
~basic_ifstream () | |
template<typename _ValueT > | |
basic_istream< _CharT, _Traits > & | _M_extract (_ValueT &__v) |
void | close () |
basic_istream< char > & | getline (char_type *__s, streamsize __n, char_type __delim) |
basic_istream< wchar_t > & | getline (char_type *__s, streamsize __n, char_type __delim) |
basic_istream< char > & | ignore (streamsize __n) |
basic_istream< wchar_t > & | ignore (streamsize __n) |
basic_istream< char > & | ignore (streamsize __n, int_type __delim) |
basic_istream< wchar_t > & | ignore (streamsize __n, int_type __delim) |
bool | is_open () |
bool | is_open () const |
void | open (const char *__s, ios_base::openmode __mode=ios_base::in) |
void | open (const std::string &__s, ios_base::openmode __mode=ios_base::in) |
basic_ifstream & | operator= (basic_ifstream &&__rhs) |
basic_ifstream & | operator= (const basic_ifstream &)=delete |
__istream_type & | operator>> (__ios_type &(*__pf)(__ios_type &)) |
__istream_type & | operator>> (__istream_type &(*__pf)(__istream_type &)) |
__istream_type & | operator>> (ios_base &(*__pf)(ios_base &)) |
__filebuf_type * | rdbuf () const |
void | swap (basic_ifstream &__rhs) |
Extractors | |
All the If the sentry status is good, the function tries to extract whatever data is appropriate for the type of the argument. If an exception is thrown during extraction, ios_base::badbit will be turned on in the stream's error state (without causing an ios_base::failure to be thrown) and the original exception will be rethrown if badbit is set in the exceptions mask. | |
__istream_type & | operator>> (bool &__n) |
__istream_type & | operator>> (short &__n) |
__istream_type & | operator>> (unsigned short &__n) |
__istream_type & | operator>> (int &__n) |
__istream_type & | operator>> (unsigned int &__n) |
__istream_type & | operator>> (long &__n) |
__istream_type & | operator>> (unsigned long &__n) |
__istream_type & | operator>> (long long &__n) |
__istream_type & | operator>> (unsigned long long &__n) |
__istream_type & | operator>> (float &__f) |
__istream_type & | operator>> (double &__f) |
__istream_type & | operator>> (long double &__f) |
__istream_type & | operator>> (void *&__p) |
__istream_type & | operator>> (__streambuf_type *__sb) |
streamsize | gcount () const |
Extractors | |
All the If the sentry status is good, the function tries to extract whatever data is appropriate for the type of the argument. If an exception is thrown during extraction, ios_base::badbit will be turned on in the stream's error state (without causing an ios_base::failure to be thrown) and the original exception will be rethrown if badbit is set in the exceptions mask. | |
__istream_type & | operator>> (bool &__n) |
__istream_type & | operator>> (short &__n) |
__istream_type & | operator>> (unsigned short &__n) |
__istream_type & | operator>> (int &__n) |
__istream_type & | operator>> (unsigned int &__n) |
__istream_type & | operator>> (long &__n) |
__istream_type & | operator>> (unsigned long &__n) |
__istream_type & | operator>> (long long &__n) |
__istream_type & | operator>> (unsigned long long &__n) |
__istream_type & | operator>> (float &__f) |
__istream_type & | operator>> (double &__f) |
__istream_type & | operator>> (long double &__f) |
__istream_type & | operator>> (void *&__p) |
__istream_type & | operator>> (__streambuf_type *__sb) |
streamsize | gcount () const |
Protected Attributes | |
streamsize | _M_gcount |
Unformatted Input Functions | |
All the unformatted input functions have some common behavior. Each starts by constructing a temporary object of type std::basic_istream::sentry with the second argument (noskipws) set to true. This has several effects, concluding with the setting of a status flag; see the sentry documentation for more. If the sentry status is good, the function tries to extract whatever data is appropriate for the type of the argument. The number of characters extracted is stored for later retrieval by gcount(). If an exception is thrown during extraction, ios_base::badbit will be turned on in the stream's error state (without causing an ios_base::failure to be thrown) and the original exception will be rethrown if badbit is set in the exceptions mask. | |
int_type | get () |
__istream_type & | get (char_type &__c) |
__istream_type & | get (char_type *__s, streamsize __n, char_type __delim) |
__istream_type & | get (char_type *__s, streamsize __n) |
__istream_type & | get (__streambuf_type &__sb, char_type __delim) |
__istream_type & | get (__streambuf_type &__sb) |
__istream_type & | getline (char_type *__s, streamsize __n, char_type __delim) |
__istream_type & | getline (char_type *__s, streamsize __n) |
__istream_type & | ignore (streamsize __n, int_type __delim) |
__istream_type & | ignore (streamsize __n) |
__istream_type & | ignore () |
int_type | peek () |
__istream_type & | read (char_type *__s, streamsize __n) |
streamsize | readsome (char_type *__s, streamsize __n) |
__istream_type & | putback (char_type __c) |
__istream_type & | unget () |
int | sync () |
pos_type | tellg () |
__istream_type & | seekg (pos_type) |
__istream_type & | seekg (off_type, ios_base::seekdir) |
void | swap (basic_istream &__rhs) |
template<typename _ValueT > | |
__istream_type & | _M_extract (_ValueT &__v) |
Controlling input for files.
_CharT | Type of character stream. |
_Traits | Traits for character type, defaults to char_traits<_CharT>. |
This class supports reading from named files, using the inherited functions from std::basic_istream. To control the associated sequence, an instance of std::basic_filebuf is used, which this page refers to as sb
.
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
protectedinherited |
Simple extraction.
Tries to extract a character. If none are available, sets failbit and returns traits::eof().
|
inline |
|
inlineinherited |
|
inherited |
Simple extraction.
Tries to extract a character. If none are available, sets failbit and returns traits::eof().
Definition at line 244 of file istream.tcc.
|
inlineinherited |
|
inherited |
Extraction into another streambuf.
__sb | A streambuf in which to store data. |
__delim | A "stop" character. |
Characters are extracted and inserted into __sb until one of the following happens:
If no characters are stored, failbit is set in the stream's error state.
Definition at line 364 of file istream.tcc.
|
inherited |
Simple extraction.
__c | The character in which to store data. |
Tries to extract a character and store it in __c. If none are available, sets failbit and returns traits::eof().
Definition at line 280 of file istream.tcc.
|
inlineinherited |
|
inherited |
Simple multiple-character extraction.
__s | Pointer to an array. |
__n | Maximum number of characters to store in __s. |
__delim | A "stop" character. |
Characters are extracted and stored into __s until one of the following happens:
__n-1
characters are storedIf no characters are stored, failbit is set in the stream's error state.
In any case, a null character is stored into the next location in the array.
Definition at line 317 of file istream.tcc.
|
inlineinherited |
|
inherited |
String extraction.
__s | A character array in which to store the data. |
__n | Maximum number of characters to extract. |
__delim | A "stop" character. |
Extracts and stores characters into __s until one of the following happens. Note that these criteria are required to be tested in the order listed here, to allow an input line to exactly fill the __s array without setting failbit.
__delim
, in which case the character is extracted (and therefore counted in gcount()
) but not stored__n-1
characters are stored, in which case failbit is set in the stream error stateIf no characters are extracted, failbit is set. (An empty line of input should therefore not cause failbit to be set.)
In any case, a null character is stored in the next location in the array.
Definition at line 408 of file istream.tcc.
|
inherited |
Explicit specialization declarations, defined in src/istream.cc.
|
inherited |
Simple extraction.
Tries to extract a character. If none are available, sets failbit and returns traits::eof().
Definition at line 468 of file istream.tcc.
|
inherited |
Simple extraction.
Tries to extract a character. If none are available, sets failbit and returns traits::eof().
Definition at line 501 of file istream.tcc.
|
inherited |
Discarding characters.
__n | Number of characters to discard. |
__delim | A "stop" character. |
Extracts characters and throws them away until one of the following happens:
!=
std::numeric_limits<int>::max()
, __n characters are extractedtraits::eof()
.NB: Provide three overloads, instead of the single function (with defaults) mandated by the Standard: this leads to a better performing implementation, while still conforming to the Standard.
Definition at line 563 of file istream.tcc.
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inherited |
Extracting into another streambuf.
__sb | A pointer to a streambuf |
This function behaves like one of the basic arithmetic extractors, in that it also constructs a sentry object and has the same error handling behavior.
If __sb
is NULL, the stream will set failbit in its error state.
Characters are extracted from this stream and inserted into the __sb
streambuf until one of the following occurs:
If the function inserts no characters, failbit is set.
Definition at line 212 of file istream.tcc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
Integer arithmetic extractors.
__n | A variable of builtin integral type. |
*this
if successfulThese functions use the stream's current locale (specifically, the num_get
facet) to parse the input data.
Definition at line 167 of file istream.tcc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
Integer arithmetic extractors.
__n | A variable of builtin integral type. |
*this
if successfulThese functions use the stream's current locale (specifically, the num_get
facet) to parse the input data.
Definition at line 122 of file istream.tcc.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
Looking ahead in the stream.
If, after constructing the sentry object, good()
is false, returns traits::eof()
. Otherwise reads but does not extract the next input character.
Definition at line 628 of file istream.tcc.
|
inherited |
Unextracting a single character.
__c | The character to push back into the input stream. |
If rdbuf()
is not null, calls rdbuf()->sputbackc(c)
.
If rdbuf()
is null or if sputbackc()
fails, sets badbit in the error state.
gcount()
will return 0, as required by DR 60. Definition at line 719 of file istream.tcc.
|
inline |
|
inherited |
Extraction without delimiters.
__s | A character array. |
__n | Maximum number of characters to store. |
If the stream state is good()
, extracts characters and stores them into __s until one of the following happens:
failbit|eofbit
.Definition at line 658 of file istream.tcc.
|
inherited |
Extraction until the buffer is exhausted, but no more.
__s | A character array. |
__n | Maximum number of characters to store. |
Extracts characters and stores them into __s depending on the number of characters remaining in the streambuf's buffer, rdbuf()->in_avail()
, called A
here:
A
==
-1
, sets eofbit and extracts no charactersA
==
0
, extracts no charactersA
>
0
, extracts min(A,n)
The goal is to empty the current buffer, and to not request any more from the external input sequence controlled by the streambuf.
Definition at line 687 of file istream.tcc.
|
inherited |
Changing the current read position.
__off | A file offset object. |
__dir | The direction in which to seek. |
If fail()
is not true, calls rdbuf()->pubseekoff(__off,__dir)
. If that function fails, sets failbit.
gcount()
. Definition at line 892 of file istream.tcc.
|
inherited |
Changing the current read position.
__pos | A file position object. |
If fail()
is not true, calls rdbuf()->pubseekpos(__pos)
. If that function fails, sets failbit.
gcount()
. Definition at line 853 of file istream.tcc.
|
inlineprotectedinherited |
|
inherited |
Synchronizing the stream buffer.
If rdbuf()
is a null pointer, returns -1.
Otherwise, calls rdbuf()->pubsync()
, and if that returns -1, sets badbit and returns -1.
Otherwise, returns 0.
gcount()
. Definition at line 789 of file istream.tcc.
|
inherited |
Getting the current read position.
If fail()
is not false, returns pos_type
(-1) to indicate failure. Otherwise returns rdbuf()->pubseekoff(0,cur,in)
.
gcount()
. At variance with putback, unget and seekg, eofbit is not cleared first. Definition at line 825 of file istream.tcc.
|
inherited |
Unextracting the previous character.
If rdbuf()
is not null, calls rdbuf()->sungetc(c)
.
If rdbuf()
is null or if sungetc()
fails, sets badbit in the error state.
gcount()
will return 0, as required by DR 60. Definition at line 754 of file istream.tcc.
Referenced by std::__detail::operator>>().
|
protectedinherited |
The number of characters extracted in the previous unformatted function; see gcount().
Definition at line 82 of file istream.
Referenced by std::basic_istream< char >::get(), std::basic_istream< char >::getline(), std::basic_istream< char >::ignore(), std::basic_istream< char >::peek(), std::basic_istream< char >::putback(), std::basic_istream< char >::read(), std::basic_istream< char >::readsome(), and std::basic_istream< char >::unget().