std::basic_ios
|   Defined in header  
<ios>
  | 
||
|   template<  
    class CharT,   | 
||
The class std::basic_ios provides facilities for interfacing with objects that have std::basic_streambuf interface. Several std::basic_ios objects can refer to one actual std::basic_streambuf object.
Two specializations for common character types are also provided:
| Type | Definition | 
  ios
 | 
basic_ios<char> | 
  wios
 | 
basic_ios<wchar_t> | 
Contents | 
[edit] 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 | 
[edit] Public member functions
|   constructs the object  (public member function)  | 
|
|    [virtual] 
 | 
  destructs the object  (virtual public member function)  | 
|    operator=  | 
   the copy assignment operator is deleted  (public member function)  | 
 State functions | 
|
|    checks if no error has occurred i.e. I/O operations are available  (public member function)  | 
|
|    checks if end-of-file has been reached  (public member function)  | 
|
|    checks if a recoverable error has occurred  (public member function)  | 
|
|    checks if a non-recoverable error has occurred  (public member function)  | 
|
|    checks if an error has occurred (synonym of fail())   (public member function)  | 
|
|    (until C++11)(since C++11) 
 | 
  checks if no error has occurred (synonym of !fail())  (public member function)  | 
|    returns state flags  (public member function)  | 
|
|    sets state flags  (public member function)  | 
|
|    clears error and eof flags  (public member function)  | 
|
 Formatting | 
|
|    copies formatting information  (public member function)  | 
|
|    manages the fill character  (public member function)  | 
|
 Miscellaneous | 
|
|    manages exception mask  (public member function)  | 
|
|    sets the locale  (public member function)  | 
|
|    manages associated stream buffer  (public member function)  | 
|
|    manages tied stream  (public member function)  | 
|
|    narrows characters  (public member function)  | 
|
|    widens characters  (public member function)  | 
|
[edit] Protected member functions
|    initializes a default-constructed std::basic_ios   (protected member function)  | 
|
|    (C++11) 
 | 
   moves from another std::basic_ios except for rdbuf  (protected member function)  | 
|    (C++11) 
 | 
   swaps with another std::basic_ios except for rdbuf  (protected member function)  | 
   replaces the rdbuf without clearing its error state (protected member function)  | 
Inherited from std::ios_base
Member functions
 Formatting | 
|
|    manages format flags   (public member function of std::ios_base) 
 | 
|
|    sets specific format flag   (public member function of std::ios_base) 
 | 
|
|    clears specific format flag   (public member function of std::ios_base) 
 | 
|
|    manages decimal precision of floating point operations   (public member function of std::ios_base) 
 | 
|
|    manages field width  (public member function of std::ios_base) 
 | 
|
 Locales | 
|
|    sets locale   (public member function of std::ios_base) 
 | 
|
|    returns current locale   (public member function of std::ios_base) 
 | 
|
 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) 
 | 
|    resizes the private storage if necessary and access to the long element at the given index  (public member function of std::ios_base) 
 | 
|
|    resizes the private storage if necessary and access to the void* element at the given index  (public member function of std::ios_base) 
 | 
|
 Miscellaneous | 
|
|    registers event callback function   (public member function of std::ios_base) 
 | 
|
|    [static] 
 | 
   sets whether C++ and C IO libraries are interoperable   (public static member function of std::ios_base) 
 | 
 Member classes | 
|
|    stream exception   (public member class of std::ios_base) 
 | 
|
|    initializes standard stream objects   (public member class of std::ios_base) 
 | 
|
 Member types and constants | 
|||||||||||||||||||||||||||||||||||||||
| Type | Explanation | ||||||||||||||||||||||||||||||||||||||
|    stream open mode type
 The following constants are also defined: 
 (typedef)  | 
|||||||||||||||||||||||||||||||||||||||
|    formatting flags type
 The following constants are also defined: 
 (typedef)  | 
|||||||||||||||||||||||||||||||||||||||
|    state of the stream type
 The following constants are also defined: 
 (typedef)  | 
|||||||||||||||||||||||||||||||||||||||
|    seeking direction type
 The following constants are also defined: 
 (typedef)  | 
|||||||||||||||||||||||||||||||||||||||
|    specifies event type  (enum)  | 
|||||||||||||||||||||||||||||||||||||||
|    callback function type  (typedef)  | 
|||||||||||||||||||||||||||||||||||||||
[edit] Notes
Straightforward implementation of std::basic_ios stores only the following members (which all depend on the template parameters and thus cannot be part of std::ios_base):
-  the fill character (see 
fill()) -  the tied stream pointer (see 
tie()) -  the associated stream buffer pointer (see 
rdbuf()) 
Actual implementations vary:
Microsoft Visual Studio stores just those three members.
LLVM libc++ stores 1 less member: it maintains the rdbuf pointer as a void* member of ios_base.
GNU libstdc++ stores 4 additional members: three cached facets and a flag to indicate that fill was initialized
