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

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

philox_engine & e ) ;
(2) (depuis C++26)
1) Écrit la représentation textuelle de l'état actuel de e dans os avec les indicateurs de format définis sur std:: ios_base :: dec | std:: ios_base :: left et le caractère de remplissage défini sur le caractère espace.
Après l'écriture, os les fmtflags et le caractère de remplissage d'origine sont restaurés.
2) Lit une représentation textuelle de l'état du moteur depuis is (noté text ) avec les fmtflags définis sur std:: ios_base :: dec , et définit l'état de e à cet état.
Après la lecture, is , les fmtflags originaux sont restaurés.
  • Si text n'a pas été précédemment écrit en utilisant un flux de sortie pr , le comportement est indéfini.
  • Sinon, si l'une des valeurs suivantes est false , le comportement est indéfini :
  • 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
  • Sinon, si text n'est pas une représentation textuelle valide d'un état de decltype ( e ) , l'état de e reste inchangé et is. setstate ( std:: ios_base :: failbit ) est appelé.
  • Sinon, étant donné un autre moteur eng du même type que e . Si text a été précédemment écrit par pr << eng et qu'il n'y a pas d'invocation intermédiaire de e ou de eng entre pr << eng et is >> e , e == eng est true .

Ces modèles de fonction ne sont pas visibles par la recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvés que par la recherche dépendante des arguments lorsque decltype ( e ) est une classe associée des arguments.

Table des matières

Paramètres

os - flux de sortie dans lequel insérer les données
is - flux d'entrée depuis lequel extraire les données
e - moteur de nombres pseudo-aléatoires

Valeur de retour

1) os
2) is

Complexité

1,2) O(n) .

Exceptions

2) Peut lever std::ios_base::failure lors de la définition de std:: ios_base :: failbit .