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) | (C++23부터) |
|
template
<
class
ROS
>
explicit basic_ispanstream ( ROS && r ) ; |
(2) | (C++23부터) |
|
basic_ispanstream
(
basic_ispanstream
&&
rhs
)
;
|
(3) | (C++23부터) |
|
basic_ispanstream
(
const
basic_ispanstream
&
)
=
delete
;
|
(4) | (C++23부터) |
새로운
basic_ispanstream
을 생성합니다.
1)
참조된 저장소
s
를 래핑된
std::basic_spanbuf
장치의 초기 기반 버퍼로 사용합니다. 래핑된
std::basic_spanbuf
객체는
basic_spanbuf
<
Char, Traits
>
(
s, mode
|
std::
ios_base
::
in
)
로 생성됩니다.
2)
r
이 참조하는 저장소를
std::
span
<
const
CharT
>
로 변환한 후, 이를 래핑된
std::basic_spanbuf
장치의 초기 기반 버퍼로 사용합니다. 래핑된
std::basic_spanbuf
객체는
std::ios_base::in
모드로 열립니다. 이 오버로드는
ROS
가
borrowed_range
를 모델링하고,
std::
convertible_to
<
ROS,
std::
span
<
CharT
>>
가
false
이며,
std::
convertible_to
<
ROS,
std::
span
<
const
CharT
>>
가
true
인 경우에만 오버로드 해결에 참여합니다.
3)
이동 생성자.
std::basic_istream
기본 하위 객체와 감싸진
std::basic_spanbuf
를
rhs
의 해당 객체들로부터 이동 생성하고,
set_rdbuf
를 호출하여
*
this
내부의 감싸진
std::basic_spanbuf
주소로 설정합니다.
4)
복사 생성자가 삭제되었습니다.
basic_ispanstream
는 복사할 수 없습니다.
목차 |
매개변수
| s | - | std::span 스트림의 초기 기반 버퍼로 사용할 저장소를 참조하는 객체 | ||||||||||||||||
| r | - |
borrowed_range
스트림의 초기 기반 버퍼로 사용할 범위
|
||||||||||||||||
| mode | - |
스트림 열기 모드를 지정. 다음 상수들과 이들 간의 비트 OR 연산을 사용할 수 있음:
|
||||||||||||||||
| other | - |
이동 생성할 다른
basic_ispanstream
객체
|
예외
구현에서 정의된 예외를 던질 수 있습니다.
예제
이 코드 실행
#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); }
출력:
i=1, j=2, k=3, w=abc
참고 항목
basic_spanbuf
객체를 생성합니다
(
std::basic_spanbuf<CharT,Traits>
의
public 멤버 함수)
|