Namespaces
Variants

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

From cppreference.net

template < class CharT, class Traits >

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

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

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

mersenne_twister_engine & e ) ;
(2) (C++11 이후)
1) 현재 상태의 텍스트 표현을 e 에서 os 로 기록하며, fmtflags는 std:: ios_base :: dec | std:: ios_base :: left 로 설정되고 채움 문자는 공백 문자로 설정됩니다.
작성 후, os 의 원본 fmtflags와 fill 문자가 복원됩니다.
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 에는 보이지 않으며, 오직 argument-dependent lookup 에 의해서만 발견될 수 있습니다. 이는 decltype ( e ) 가 인자들의 연관 클래스일 때만 가능합니다.

목차

매개변수

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

반환값

1) os
2) is

복잡도

1,2) O(n) .

예외

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

결함 보고서

다음 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3519 C++11 삽입 및 추출 연산자의 형태가 명시되지 않았음 숨겨진 friend로 명시됨