Namespaces
Variants
Actions

std::basic_istream

From cppreference.com
< cpp‎ | io
 
 
 
 
Defined in header <istream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>

> class basic_istream : virtual public std::basic_ios<CharT, Traits>

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().

cpp/io/ios basecpp/io/basic iosstd-basic istream-inheritance.svg

Inheritance diagram

Several typedefs for common character types are provided:

Defined in header <istream>
Type Definition
std::istream std::basic_istream<char>
std::wistream std::basic_istream<wchar_t>

Contents

[edit] Global objects

Two global basic_istream objects are provided by the standard library.

Defined in header <iostream>
reads from the standard C input stream stdin
(global object)[edit]

[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

constructs the object
(public member function) [edit]
[virtual]
destructs the object
(virtual public member function) [edit]
(C++11)
move-assigns from another basic_istream
(protected member function) [edit]
Formatted input
extracts formatted data
(public member function) [edit]
Unformatted input
extracts characters
(public member function) [edit]
reads the next character without extracting it
(public member function) [edit]
unextracts a character
(public member function) [edit]
puts a character into input stream
(public member function) [edit]
extracts characters until the given character is found
(public member function) [edit]
extracts and discards characters until the given character is found
(public member function) [edit]
extracts blocks of characters
(public member function) [edit]
extracts already available blocks of characters
(public member function) [edit]
returns number of characters extracted by last unformatted input operation
(public member function) [edit]
Positioning
returns the input position indicator
(public member function) [edit]
sets the input position indicator
(public member function) [edit]
Miscellaneous
synchronizes with the underlying storage device
(public member function) [edit]
(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

extracts characters and character arrays
(function template) [edit]

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>) [edit]
checks if end-of-file has been reached
(public member function of std::basic_ios<CharT,Traits>) [edit]
checks if an error has occurred
(public member function of std::basic_ios<CharT,Traits>) [edit]
checks if a non-recoverable error has occurred
(public member function of std::basic_ios<CharT,Traits>) [edit]
checks if an error has occurred (synonym of fail())
(public member function of std::basic_ios<CharT,Traits>) [edit]
checks if no error has occurred (synonym of !fail())
(public member function of std::basic_ios<CharT,Traits>) [edit]
returns state flags
(public member function of std::basic_ios<CharT,Traits>) [edit]
sets state flags
(public member function of std::basic_ios<CharT,Traits>) [edit]
modifies state flags
(public member function of std::basic_ios<CharT,Traits>) [edit]
Formatting
copies formatting information
(public member function of std::basic_ios<CharT,Traits>) [edit]
manages the fill character
(public member function of std::basic_ios<CharT,Traits>) [edit]
Miscellaneous
manages exception mask
(public member function of std::basic_ios<CharT,Traits>) [edit]
sets the locale
(public member function of std::basic_ios<CharT,Traits>) [edit]
manages associated stream buffer
(public member function of std::basic_ios<CharT,Traits>) [edit]
manages tied stream
(public member function of std::basic_ios<CharT,Traits>) [edit]
narrows characters
(public member function of std::basic_ios<CharT,Traits>) [edit]
widens characters
(public member function of std::basic_ios<CharT,Traits>) [edit]

Inherited from std::ios_base

Member functions

Formatting
manages format flags
(public member function of std::ios_base) [edit]
sets specific format flag
(public member function of std::ios_base) [edit]
clears specific format flag
(public member function of std::ios_base) [edit]
manages decimal precision of floating point operations
(public member function of std::ios_base) [edit]
manages field width
(public member function of std::ios_base) [edit]
Locales
sets locale
(public member function of std::ios_base) [edit]
returns current locale
(public member function of std::ios_base) [edit]
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) [edit]
resizes the private storage if necessary and access to the long element at the given index
(public member function of std::ios_base) [edit]
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
registers event callback function
(public member function of std::ios_base) [edit]
sets whether C++ and C I/O libraries are interoperable
(public static member function of std::ios_base) [edit]
Member classes
stream exception
(public member class of std::ios_base) [edit]
initializes standard stream objects
(public member class of std::ios_base) [edit]

Member types and constants

Type Explanation
stream open mode type

The following constants are also defined:

Constant Explanation[edit]
app seek to the end of stream before each write[edit]
binary open in binary mode[edit]
in open for reading[edit]
out open for writing[edit]
trunc discard the contents of the stream when opening[edit]
ate seek to the end of stream immediately after open[edit]
noreplace (C++23) open in exclusive mode[edit]

(typedef)