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) Считывает текстовое представление состояния движка из
После чтения восстанавливается исходное значение fmtflags для is (обозначенного как text) с установленным значением fmtflags std::ios_base::dec и устанавливает состояние e в это состояние.is. - Если
textранее не записывался с помощью выходного потокаpr, поведение не определено. - В противном случае, если какое-либо из следующих значений равно
false, поведение не определено: is.getloc() == pr.getloc()std::is_same<decltype(is)::char_type,decltype(pr)::char_type>::valuestd::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).
Исключения
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/random/philox_engine/operator_ltltgtgt