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) | (desde C++23) |
|
template
<
class
ROS
>
explicit basic_ispanstream ( ROS && r ) ; |
(2) | (desde C++23) |
|
basic_ispanstream
(
basic_ispanstream
&&
rhs
)
;
|
(3) | (desde C++23) |
|
basic_ispanstream
(
const
basic_ispanstream
&
)
=
delete
;
|
(4) | (desde C++23) |
Construye un nuevo
basic_ispanstream
.
1)
Utiliza el almacenamiento referenciado por
s
como búfer subyacente inicial del dispositivo
std::basic_spanbuf
encapsulado. El objeto
std::basic_spanbuf
encapsulado se construye como
basic_spanbuf
<
Char, Traits
>
(
s, mode
|
std::
ios_base
::
in
)
.
2)
Utiliza el almacenamiento referenciado por
r
después de convertirlo a
std::
span
<
const
CharT
>
como búfer subyacente inicial del dispositivo
std::basic_spanbuf
encapsulado. El objeto
std::basic_spanbuf
encapsulado se abre en modo
std::ios_base::in
. Esta sobrecarga participa en la resolución de sobrecarga solo si
ROS
modela
borrowed_range
,
std::
convertible_to
<
ROS,
std::
span
<
CharT
>>
es
false
, y
std::
convertible_to
<
ROS,
std::
span
<
const
CharT
>>
es
true
.
3)
Constructor de movimiento. Construye por movimiento el
std::basic_istream
subobjeto base y el
std::basic_spanbuf
encapsulado a partir de los de
rhs
, y luego llama a
set_rdbuf
con la dirección del
std::basic_spanbuf
encapsulado en
*
this
para instalarlo.
4)
El constructor de copia está eliminado.
basic_ispanstream
no es copiable.
Contenidos |
Parámetros
| s | - | std::span que referencia al almacenamiento a utilizar como búfer subyacente inicial del flujo | ||||||||||||||||
| r | - |
borrowed_range
a utilizar como búfer subyacente inicial del flujo
|
||||||||||||||||
| mode | - |
especifica el modo de apertura del flujo. Se pueden utilizar las siguientes constantes y el OR bit a bit entre ellas:
|
||||||||||||||||
| other | - |
otro
basic_ispanstream
del cual se moverá
|
Excepciones
Puede lanzar excepciones definidas por la implementación.
Ejemplo
Ejecutar este código
#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); }
Salida:
i=1, j=2, k=3, w=abc
Véase también
construye un objeto
basic_spanbuf
(función miembro pública de
std::basic_spanbuf<CharT,Traits>
)
|