std::basic_iostream<CharT,Traits>:: basic_iostream
From cppreference.net
<
cpp
|
io
|
basic iostream
|
explicit
basic_iostream
(
std::
basic_streambuf
<
CharT,Traits
>
*
sb
)
;
|
(1) | |
|
basic_iostream
(
const
basic_iostream
&
other
)
=
delete
;
|
(2) | (depuis C++11) |
|
protected
:
basic_iostream ( basic_iostream && other ) ; |
(3) | (depuis C++11) |
Construit un nouvel objet de flux.
1)
Initialise avec le streambuf
sb
. Les classes de base sont initialisées comme
basic_istream
<
CharT,Traits
>
(
sb
)
et
basic_ostream
<
CharT,Traits
>
(
sb
)
. Après l'appel
rdbuf
(
)
==
sb
et
gcount
(
)
==
0
.
2)
La construction par copie n'est pas autorisée.
3)
Constructeur de déplacement : construit par déplacement la première classe de base
basic_istream
comme
basic_istream
<
CharT,Traits
>
(
std
::
move
(
rhs
)
)
;
, qui à son tour construit par déplacement et initialise la base virtuelle
std::basic_ios
. L'initialisation de l'autre base,
basic_ostream
, est définie par l'implémentation (par exemple, un constructeur par défaut protégé peut être ajouté à
std::basic_ostream
, qui ne fait rien) car la construction par déplacement ne peut pas utiliser
rhs
deux fois. Ce constructeur de déplacement est protégé : il est appelé par les constructeurs de déplacement des classes de flux dérivées
std::basic_fstream
et
std::basic_stringstream
avant qu'elles ne construisent par déplacement et n'associent le tampon de flux.
Paramètres
| sb | - | streambuf à initialiser |
| other | - | autre flux à initialiser |
Voir aussi
|
(C++11)
|
assigne par déplacement un autre
basic_iostream
(fonction membre protégée) |