Namespaces
Variants

operator<<,>> (std::philox_engine)

From cppreference.net

template < class CharT, class Traits >

friend std:: basic_ostream < CharT, Traits > &
operator << ( std:: basic_ostream < CharT, Traits > & os,

const philox_engine & e ) ;
(1) (C++26 이후)
template < class CharT, class Traits >

friend std:: basic_istream < CharT, Traits > &
operator >> ( std:: basic_istream < CharT, Traits > & is,

philox_engine & e ) ;
(2) (C++26 이후)
1) e 의 현재 상태 텍스트 표현을 os 에 기록하며, fmtflags는 std:: ios_base :: dec | std:: ios_base :: left 로 설정하고 채움 문자는 공백 문자로 설정합니다.
작성 후, os 의 원본 fmtflags와 채우기 문자가 복원됩니다.
2) is (표시된 text )에서 엔진 상태의 텍스트 표현을 읽고, fmtflags가 std:: ios_base :: dec 로 설정된 상태에서 e 의 상태를 해당 상태로 설정합니다.
읽기를 마친 후, is 의 원본 fmtflags가 복원됩니다.
  • 만약 text 가 이전에 출력 스트림 pr 을 사용하여 작성되지 않았다면, 동작은 정의되지 않습니다.
  • 그렇지 않고, 다음 값들 중 어느 하나가 false 라면, 동작은 정의되지 않습니다:
  • is. getloc ( ) == pr. getloc ( )
  • std:: is_same < decltype ( is ) :: char_type ,
    decltype ( pr ) :: char_type > :: value
  • std:: is_same < decltype ( is ) :: traits_type ,
    decltype ( pr ) :: traits_type > :: value
  • 그렇지 않고, 만약 text decltype ( e ) 의 어떤 상태에 대한 유효한 텍스트 표현이 아니라면, e 의 상태는 변경되지 않고 is. setstate ( std:: ios_base :: failbit ) 가 호출됩니다.
  • 그렇지 않고, 동일한 타입의 다른 엔진 eng 가 주어졌을 때, text 가 이전에 pr << eng 에 의해 작성되었고, pr << eng is >> e 사이에 e 또는 eng 의 중간 호출이 없다면, e == eng true 입니다.

이러한 함수 템플릿은 일반적인 unqualified lookup 또는 qualified lookup 에는 보이지 않으며, decltype ( e ) 가 인자들의 연관 클래스일 때에만 argument-dependent lookup 에 의해 발견될 수 있습니다.

목차

매개변수

os - 데이터를 삽입할 출력 스트림
is - 데이터를 추출할 입력 스트림
e - 의사 난수 엔진

반환값

1) os
2) is

복잡도

1,2) O(n) .

예외

2) 설정 시 std::ios_base::failure 를 throw할 수 있습니다 std:: ios_base :: failbit .