名前空間
変種
操作

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

From cppreference.com
< cpp‎ | numeric‎ | random‎ | philox engine
 
 
 
 
 
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 の現在の状態のテキスト表現を、fmtflags を std::ios_base::dec | std::ios_base::left に設定し、埋め文字をスペース文字に設定した状態で、os に書き込みます。
書き込み後、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
  • それ以外の場合、もし textdecltype(e) のどの状態の有効なテキスト表現でもない場合、e の状態は変更されず、is.setstate(std::ios_base::failbit) が呼び出されます。
  • そうでなければ、 e と同じ型の別のエンジン eng が与えられた場合。 pr << eng によって以前に text が書き込まれており、 pr << engis >> e の間に e または eng の呼び出しが介在しない場合、 e == engtrue になります。

これらの関数テンプレートは、通常の 修飾なし または 修飾あり の検索では見えず、decltype(e) が引数に関連付けられたクラスである場合にのみ、引数依存の名前探索 によって検出されます。

目次

[編集] パラメータ

os - データを挿入する出力ストリーム
is - データを抽出する入力ストリーム
e - 疑似乱数エンジン

[編集] 戻り値

1) `os`
2) `is`

[編集] 計算量

1,2) O(n)

[編集] 例外

2) std::ios_base::failbit を設定する際に、std::ios_base::failure を送出する可能性があります。
English 日本語 中文(简体) 中文(繁體)