std::basic_ios<CharT,Traits>::init
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Input/output library
Print functions (C++23)
Buffers
(C++23)
(C++98/26*)
(C++20)
Streams
Abstractions
File I/O
String I/O
Array I/O
(C++23)
(C++23)
(C++23)
(C++98/26*)
(C++98/26*)
(C++98/26*)
Synchronized Output
(C++20)
Types
Error category interface
(C++11)
(C++11)
std::basic_ios
Member functions
State functions
Formatting
Miscellaneous
Protected member functions
basic_ios::init
(C++11)
(C++11)
(C++11)
protected:
void init( std::basic_streambuf <CharT,Traits>* sb );
void init( std::basic_streambuf <CharT,Traits>* sb );
Sets the associated stream buffer to sb and initializes the internal state.
The postconditions are as follows:
Element | Value |
---|---|
rdbuf() | sb |
tie() | null pointer |
rdstate() | goodbit if sb is not a null pointer, otherwise badbit |
exceptions() | goodbit |
flags() | skipws | dec |
width() | 0 |
precision() | 6 |
fill() | widen(' ') |
getloc() | a copy of the value returned by std::locale () |
This member function is protected: it is called by the constructors of the derived stream classes std::basic_istream and std::basic_ostream once the associated stream buffer is known. Until this function is called, every member function (including the destructor) of the default-constructed std::basic_ios invokes undefined behavior. Note that basic_ios
is a virtual base class, and therefore its constructor is not called by the constructors of those directly derived classes, which is why two-stage initialization is necessary.
[edit] Parameters
sb
-
stream buffer to associate to