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とfill characterが復元されます。
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 ) が呼び出される。
  • そうでない場合、 e と同じ型の別のエンジン 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 をスローする可能性があります std:: ios_base :: failbit