Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | numeric‎ | random‎ | philox engine
 
 
 
 
std::philox_engine
Memberfunktionen
Generierung
Eigenschaften des Generators
Nicht-Member-Funktionen
(C++26)
operator<<operator>>
(C++26)(C++26)
 
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 auf std::ios_base::dec | std::ios_base::left und dem Leerzeichen als Füllzeichen gesetzt.
Nach dem Schreiben werden die ursprünglichen fmtflags und das ursprüngliche Füllzeichen von os wiederhergestellt.
2) Liest eine textuelle Darstellung des Engine-Zustands aus is (bezeichnet als text) mit fmtflags auf std::ios_base::dec gesetzt, und setzt den Zustand von e auf diesen Zustand.
Nach dem Lesen werden die ursprünglichen fmtflags von is wiederhergestellt.
  • Wenn text nicht zuvor mit einem Ausgabe-Stream 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 Darstellung 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 andere Engine eng vom gleichen Typ wie e. Wenn text zuvor von pr << eng geschrieben wurde und es keine dazwischenliegenden Aufrufe von e oder von eng zwischen pr << eng und is >> e gab, ist e == eng true.

Diese Funktionsvorlagen sind für normale unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn decltype(e) eine zugeordnete Klasse der Argumente ist.

Inhalt

[bearbeiten] Parameter

os - Ausgabestrom, in den die Daten eingefügt werden sollen
ist - Eingabestream, aus dem die Daten extrahiert werden sollen
e - Pseudo-Zufallszahlengenerator

[bearbeiten] Rückgabewert

1) os
2) is

[bearbeiten] Komplexität

1,2) O(n).

[bearbeiten] Ausnahmen

2) Kann std::ios_base::failure auslösen, wenn std::ios_base::failbit gesetzt wird.