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) (начиная с 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 в os с установленными флагами форматирования std:: ios_base :: dec | std:: ios_base :: left и символом заполнения, установленным в пробел.
После записи, os исходные флаги формата и символ заполнения восстанавливаются.
2) Считывает текстовое представление состояния движка из is (обозначаемого как text ) с установленными флагами форматирования в 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
  • В противном случае, если text не является допустимым текстовым представлением любого состояния decltype ( e ) , состояние e не изменяется и вызывается is. setstate ( std:: ios_base :: failbit ) .
  • В противном случае, для другого движка eng того же типа, что и e . Если text ранее был записан с помощью pr << eng и между pr << eng и is >> e не было промежуточных вызовов e или eng , то e == eng равно true .

Эти шаблоны функций не видны при обычном unqualified или qualified lookup и могут быть найдены только с помощью argument-dependent lookup , когда decltype ( e ) является ассоциированным классом аргументов.

Содержание

Параметры

os - выходной поток для вставки данных
is - входной поток для извлечения данных
e - генератор псевдослучайных чисел

Возвращаемое значение

1) os
2) is

Сложность

1,2) O(n) .

Исключения

2) Может выбрасывать std::ios_base::failure при установке std:: ios_base :: failbit .