Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/io/basic istream"

From cppreference.com
< cpp‎ | io
m (mention that gcount is the only data member)
m (wording tweak)
Line 8: Line 8:
 
}}
 
}}
  
The class template {{tt|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 {{tt|basic_streambuf}} class, which itself is a member of the {{tt|basic_ios}} base class. The only data member of {{tt|basic_istream}}, in most implementations, is the value returned by {{ltt|cpp/io/basic_istream/gcount|basic_istream::gcount()}}.
+
The class template {{tt|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 {{tt|basic_streambuf}} class, accessed through the {{tt|basic_ios}} base class. The only non-inherited data member of {{tt|basic_istream}}, in most implementations, is the value returned by {{ltt|cpp/io/basic_istream/gcount|basic_istream::gcount()}}.
  
 
{{inheritance diagram|image=std-basic_istream-inheritance.png|map=
 
{{inheritance diagram|image=std-basic_istream-inheritance.png|map=

Revision as of 12:35, 29 November 2011

Template:cpp/io/basic istream/sidebar

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

Error: Image is invalid or non-existent.

Inheritance diagram

Two specializations for common character types are defined:

Template:tdcl list begin Template:tdcl list header Template:tdcl list hitem Template:tdcl list item Template:tdcl list item Template:tdcl list end

Contents

Global objects

Two global basic_istream objects are provided by the standard library.

Defined in header <iostream>

cpp/io/cin

cin
wcin
reads from the standard C input stream Template:cpp
(global object)

Member functions

Template:cpp/io/basic istream/dcl list constructorTemplate:cpp/io/basic istream/dcl list destructorTemplate:cpp/io/basic istream/dcl list operator=Template:cpp/io/basic istream/dcl list operator gtgtTemplate:cpp/io/basic istream/dcl list getTemplate:cpp/io/basic istream/dcl list peekTemplate:cpp/io/basic istream/dcl list ungetTemplate:cpp/io/basic istream/dcl list putbackTemplate:cpp/io/basic istream/dcl list getlineTemplate:cpp/io/basic istream/dcl list ignoreTemplate:cpp/io/basic istream/dcl list readTemplate:cpp/io/basic istream/dcl list readsomeTemplate:cpp/io/basic istream/dcl list gcountTemplate:cpp/io/basic istream/dcl list tellgTemplate:cpp/io/basic istream/dcl list seekgTemplate:cpp/io/basic istream/dcl list syncTemplate:cpp/io/basic istream/dcl list swap
Formatted input
Unformatted input
Positioning
Miscellaneous

Member classes

Template:cpp/io/basic istream/dcl list sentry

Non-member functions

Template:cpp/io/basic istream/dcl list operator gtgt2

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) [edit]
formatting flags type

The following constants are also defined:

Constant Explanation[edit]
dec use decimal base for integer I/O: see std::dec[edit]
oct use octal base for integer I/O: see std::oct[edit]
hex use hexadecimal base for integer I/O: see std::hex[edit]
basefield dec | oct | hex. Useful for masking operations[edit]
left left adjustment (adds fill characters to the right): see std::left[edit]
right right adjustment (adds fill characters to the left): see std::right[edit]
internal internal adjustment (adds fill characters to the internal designated point): see std::internal[edit]
adjustfield left | right | internal. Useful for masking operations[edit]
scientific generate floating point types using scientific notation, or hex notation if combined with fixed: see std::scientific[edit]
fixed generate floating point types using fixed notation, or hex notation if combined with scientific: see std::fixed[edit]
floatfield scientific | fixed. Useful for masking operations[edit]
boolalpha insert and extract bool type in alphanumeric format: see std::boolalpha[edit]
showbase generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see std::showbase[edit]
showpoint generate a decimal-point character unconditionally for floating-point number output: see std::showpoint[edit]
showpos generate a + character for non-negative numeric output: see std::showpos[edit]
skipws skip leading whitespace before certain input operations: see std::skipws[edit]
unitbuf flush the output after each output operation: see std::unitbuf[edit]
uppercase replace certain lowercase letters with their uppercase
equivalents in certain output operations: see std::uppercase[edit]

(typedef) [edit]
state of the stream type

The following constants are also defined:

Constant Explanation[edit]
goodbit no error[edit]
badbit irrecoverable stream error[edit]
failbit input/output operation failed (formatting or extraction error)[edit]
eofbit associated input sequence has reached end-of-file[edit]

(typedef) [edit]
seeking direction type

The following constants are also defined:

Constant Explanation[edit]
beg the beginning of a stream[edit]
end the ending of a stream[edit]
cur the current position of stream position indicator[edit]

(typedef) [edit]
specifies event type
(enum) [edit]
callback function type
(typedef) [edit]