The class template basic_istream
provides support for high level input operations on character streams. The supported operations include formatted input (e.g. integer values or whitespace-separated characters and characters strings) and unformatted input (e.g. raw characters and character arrays). This functionality is implemented in terms of the interface provided by the underlying basic_streambuf
class, accessed through the basic_ios
base class. The only non-inherited data member of basic_istream
, in most implementations, is the value returned by basic_istream::gcount() .
Inheritance diagram
Several typedefs for common character types are provided:
Type
Definition
std::istream
std::basic_istream<char>
std::wistream
std::basic_istream<wchar_t>
Contents
[edit ] Global objectsTwo global basic_istream objects are provided by the standard library.
[edit ] Member types
Member type
Definition
char_type
CharT[edit]
traits_type
Traits; the program is ill-formed if Traits::char_type is not CharT.[edit]
int_type
Traits::int_type[edit]
pos_type
Traits::pos_type[edit]
off_type
Traits::off_type[edit]
[edit ] Member functions
(constructor)
constructs the object (public member function) [edit]
(destructor) [virtual]
destructs the object (virtual public member function) [edit]
operator= (C++11)
move-assigns from another basic_istream (protected member function) [edit]
Formatted input
operator>>
extracts formatted data (public member function) [edit]
Unformatted input
get
extracts characters (public member function) [edit]
peek
reads the next character without extracting it (public member function) [edit]
unget
unextracts a character (public member function) [edit]
putback
puts a character into input stream (public member function) [edit]
getline
extracts characters until the given character is found (public member function) [edit]
ignore
extracts and discards characters until the given character is found (public member function) [edit]
read
extracts blocks of characters (public member function) [edit]
readsome
extracts already available blocks of characters (public member function) [edit]
gcount
returns number of characters extracted by last unformatted input operation (public member function) [edit]
Positioning
tellg
returns the input position indicator (public member function) [edit]
seekg
sets the input position indicator (public member function) [edit]
Miscellaneous
sync
synchronizes with the underlying storage device (public member function) [edit]
swap (C++11)
swaps stream objects, except for the associated buffer (protected member function) [edit]
[edit ] Member classes| | implements basic logic for preparation of the stream for input operations (public member class) [edit] |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
[edit ] Non-member functions 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
good
checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>) [edit]
eof
checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>) [edit]
fail
checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit]
bad
checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit]
operator!
checks if an error has occurred (synonym of fail() ) (public member function of std::basic_ios<CharT,Traits>) [edit]
operator bool
checks if no error has occurred (synonym of ) (public member function of std::basic_ios<CharT,Traits>) [edit]
rdstate
returns state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
setstate
sets state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
clear
modifies state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
Formatting
copyfmt
copies formatting information (public member function of std::basic_ios<CharT,Traits>) [edit]
fill
manages the fill character (public member function of std::basic_ios<CharT,Traits>) [edit]
Miscellaneous
exceptions
manages exception mask (public member function of std::basic_ios<CharT,Traits>) [edit]
imbue
sets the locale (public member function of std::basic_ios<CharT,Traits>) [edit]
rdbuf
manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>) [edit]
tie
manages tied stream (public member function of std::basic_ios<CharT,Traits>) [edit]
narrow
narrows characters (public member function of std::basic_ios<CharT,Traits>) [edit]
widen
widens characters (public member function of std::basic_ios<CharT,Traits>) [edit]
Member functions
Formatting
flags
manages format flags (public member function of std::ios_base) [edit]
setf
sets specific format flag (public member function of std::ios_base) [edit]
unsetf
clears specific format flag (public member function of std::ios_base) [edit]
precision
manages decimal precision of floating point operations (public member function of std::ios_base) [edit]
width
manages field width (public member function of std::ios_base) [edit]
Locales
imbue
sets locale (public member function of std::ios_base) [edit]
getloc
returns current locale (public member function of std::ios_base) [edit]
Internal extensible array
xalloc [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) [edit]
iword
resizes the private storage if necessary and access to the long element at the given index (public member function of std::ios_base) [edit]
pword
resizes the private storage if necessary and access to the void* element at the given index (public member function of std::ios_base) [edit]
Miscellaneous
register_callback
registers event callback function (public member function of std::ios_base) [edit]
sync_with_stdio [static]
sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base) [edit]
Member classes
failure
stream exception (public member class of std::ios_base) [edit]
Init
initializes standard stream objects (public member class of std::ios_base) [edit]