Namespaces
Variants

std::basic_iostream<CharT,Traits>:: basic_iostream

From cppreference.net
std::basic_iostream
Member functions
basic_iostream::basic_iostream
Protected member functions
explicit basic_iostream ( std:: basic_streambuf < CharT,Traits > * sb ) ;
(1)
basic_iostream ( const basic_iostream & other ) = delete ;
(2) (seit C++11)
protected :
basic_iostream ( basic_iostream && other ) ;
(3) (seit C++11)

Konstruiert neues Stream-Objekt.

1) Initialisiert mit streambuf sb . Die Basisklassen werden initialisiert als basic_istream < CharT,Traits > ( sb ) und basic_ostream < CharT,Traits > ( sb ) . Nach dem Aufruf gilt rdbuf ( ) == sb und gcount ( ) == 0 .
2) Copy-Konstruktion ist nicht erlaubt.
3) Move-Konstruktor: move-konstruiert die erste Basisklasse basic_istream als basic_istream < CharT,Traits > ( std :: move ( rhs ) ) ; , was wiederum die virtuelle Basis std::basic_ios move-konstruiert und initialisiert. Die Initialisierung der anderen Basis, basic_ostream , ist implementierungsdefiniert (z.B. könnte ein geschützter Standardkonstruktor zu std::basic_ostream hinzugefügt werden, der nichts tut), da die Move-Konstruktion rhs nicht zweimal verwenden kann. Dieser Move-Konstruktor ist geschützt: Er wird von den Move-Konstruktoren der abgeleiteten Stream-Klassen std::basic_fstream und std::basic_stringstream aufgerufen, bevor sie den Stream-Puffer move-konstruieren und assoziieren.

Parameter

sb - Streambuf zur Initialisierung
other - Anderer Stream zur Initialisierung

Siehe auch

(C++11)
weist ein anderes basic_iostream
Objekt per Move-Operation zu (geschützte Elementfunktion)