Spec-Zone.ru › C++

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

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 с установленным значением fmtflags std::ios_base::dec | std::ios_base::left и символом заполнения, установленным в пробел.
После записи восстанавливаются исходные значения fmtflags и символа заполнения для os.
2) Считывает текстовое представление состояния движка из is (обозначенного как text) с установленным значением fmtflags std::ios_base::dec и устанавливает состояние e в это состояние.
После чтения восстанавливается исходное значение fmtflags для is.
  • Если 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.

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

Параметры

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

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

1) os
2) is

Сложность

1,2) \(\scriptsize O(n) \)O(n).

Исключения

2) При установке std::ios_base::failbit может быть выброшено исключение std::ios_base::failure.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/random/philox_engine/operator_ltltgtgt

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API