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) (seit C++26)
template < class CharT, class Traits >

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

philox_engine & e ) ;
(2) (seit C++26)
1) Schreibt die textuelle Darstellung des aktuellen Zustands von e nach os mit fmtflags gesetzt auf std:: ios_base :: dec | std:: ios_base :: left und dem Füllzeichen gesetzt auf das Leerzeichen.
Nach dem Schreiben werden die ursprünglichen fmtflags und Füllzeichen von os wiederhergestellt.
2) Liest eine textuelle Darstellung des Motorzustands aus is (bezeichnet als text ) mit fmtflags gesetzt auf std:: ios_base :: dec und setzt den Zustand von e auf diesen Zustand.
Nach dem Lesen werden is 's ursprüngliche fmtflags wiederhergestellt.
  • Wenn text zuvor nicht mit einem Ausgabestream pr geschrieben wurde, ist das Verhalten undefiniert.
  • Andernfalls, wenn einer der folgenden Werte false ist, ist das Verhalten undefiniert:
  • 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
  • Andernfalls, wenn text keine gültige textuelle Repräsentation eines Zustands von decltype ( e ) ist, bleibt der Zustand von e unverändert und is. setstate ( std:: ios_base :: failbit ) wird aufgerufen.
  • Andernfalls, gegeben eine weitere Engine eng desselben Typs wie e . Wenn text zuvor durch pr << eng geschrieben wurde und es keine zwischenliegenden Aufrufe von e oder von eng zwischen pr << eng und is >> e gibt, ist e == eng true .

Diese Funktionsvorlagen sind für gewöhnliche unqualified oder qualified lookup nicht sichtbar und können nur durch argument-dependent lookup gefunden werden, wenn decltype ( e ) eine assoziierte Klasse der Argumente ist.

Inhaltsverzeichnis

Parameter

os - Ausgabestream, in den die Daten eingefügt werden
is - Eingabestream, aus dem die Daten extrahiert werden
e - Pseudo-Zufallszahlengenerator

Rückgabewert

1) os
2) is

Komplexität

1,2) O(n) .

Exceptions

2) Kann std::ios_base::failure auslösen beim Setzen von std:: ios_base :: failbit .