std::basic_ispanstream<CharT,Traits>:: basic_ispanstream
From cppreference.net
<
cpp
|
io
|
basic ispanstream
|
explicit
basic_ispanstream
(
std::
span
<
CharT
>
s,
std::
ios_base
::
openmode
mode
=
std:: ios_base :: in ) ; |
(1) | (depuis C++23) |
|
template
<
class
ROS
>
explicit basic_ispanstream ( ROS && r ) ; |
(2) | (depuis C++23) |
|
basic_ispanstream
(
basic_ispanstream
&&
rhs
)
;
|
(3) | (depuis C++23) |
|
basic_ispanstream
(
const
basic_ispanstream
&
)
=
delete
;
|
(4) | (depuis C++23) |
Construit un nouveau
basic_ispanstream
.
1)
Utilise le stockage référencé par
s
comme tampon sous-jacent initial du dispositif
std::basic_spanbuf
encapsulé. L'objet
std::basic_spanbuf
encapsulé est construit comme
basic_spanbuf
<
Char, Traits
>
(
s, mode
|
std::
ios_base
::
in
)
.
2)
Utilise le stockage référencé par
r
après conversion en
std::
span
<
const
CharT
>
comme tampon sous-jacent initial du dispositif encapsulé
std::basic_spanbuf
. L'objet encapsulé
std::basic_spanbuf
est ouvert en mode
std::ios_base::in
. Cette surcharge participe à la résolution de surcharge seulement si
ROS
modélise
borrowed_range
,
std::
convertible_to
<
ROS,
std::
span
<
CharT
>>
est
false
, et
std::
convertible_to
<
ROS,
std::
span
<
const
CharT
>>
est
true
.
3)
Constructeur de déplacement. Construit par déplacement le
std::basic_istream
sous-objet de base et le
std::basic_spanbuf
encapsulé à partir de ceux de
rhs
, puis appelle
set_rdbuf
avec l'adresse du
std::basic_spanbuf
encapsulé dans
*
this
pour l'installer.
4)
Le constructeur de copie est supprimé.
basic_ispanstream
n'est pas copiable.
Table des matières |
Paramètres
| s | - | std::span référençant le stockage à utiliser comme tampon sous-jacent initial du flux | ||||||||||||||||
| r | - |
borrowed_range
à utiliser comme tampon sous-jacent initial du flux
|
||||||||||||||||
| mode | - |
spécifie le mode d'ouverture du flux. Les constantes suivantes et leur OU binaire peuvent être utilisées :
|
||||||||||||||||
| other | - |
un autre
basic_ispanstream
à déplacer
|
Exceptions
Peut lever des exceptions définies par l'implémentation.
Exemple
Exécuter ce code
#include <print> #include <spanstream> #include <string> int main() { std::ispanstream is("1 2 3 abc"); int i, j, k; std::string w; is >> i >> j >> k >> w; std::print("i={}, j={}, k={}, w={}", i, j, k, w); }
Sortie :
i=1, j=2, k=3, w=abc
Voir aussi
construit un objet
basic_spanbuf
(fonction membre publique de
std::basic_spanbuf<CharT,Traits>
)
|