Namespaces
Variants

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

From cppreference.net

template < class CharT, class Traits >

friend std:: basic_ostream < CharT, Traits > &
operator << ( std:: basic_ostream < CharT, Traits > & os,

const linear_congruential_engine & e ) ;
(1) (depuis C++11)
template < class CharT, class Traits >

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

linear_congruential_engine & e ) ;
(2) (depuis C++11)
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 d'origine et le caractère de remplissage sont restaurés.
2) Lit une représentation textuelle de l'état du moteur depuis is (noté comme 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 quelconque 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) Constant.

Exceptions

2) Peut lever std::ios_base::failure lors de la configuration de std:: ios_base :: failbit .

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR S'applique à Comportement publié Comportement corrigé
LWG 3519 C++11 la forme des opérateurs d'insertion et d'extraction n'était pas spécifiée spécifiés comme hidden friends