operator<<,>>(std::shuffle_order_engine)
template< class CharT, class Traits >
friend std::basic_ostream<CharT,Traits>&
operator<<( std::basic_ostream<CharT,Traits>& ost,
shuffle_order_engine<>& e );
| (1) | (начиная с C++11) |
template< class CharT, class Traits >
friend std::basic_istream<CharT,Traits>&
operator>>( std::basic_istream<CharT,Traits>& ist,
shuffle_order_engine& e );
| (2) | (начиная с C++11) |
1) Сериализует внутреннее состояние адаптера генератора псевдослучайных чисел в виде последовательности десятичных чисел, разделённых одним или несколькими пробелами, и записывает её в поток
ost. Символ заполнения и флаги форматирования потока игнорируются и не изменяются.
2) Восстанавливает внутреннее состояние адаптера генератора псевдослучайных чисел
e из сериализованного представления, созданного предыдущим вызовом operator<< с использованием потока с той же установленной локалью и теми же CharT и Traits. Если входные данные не удаётся десериализовать, e остаётся без изменений, а для ist устанавливается failbit.Эти шаблоны функций недоступны для обычного неквалифицированного или квалифицированного поиска; найти их можно только с помощью поиска с учётом аргументов, если std::shuffle_order_engine<Engine, k> является ассоциированным классом аргументов.
Если текстовое представление записано с помощью os << x, а затем это представление восстановлено в том же или другом объекте y того же типа с помощью is >> y, то x == y.
Параметры
| ost | - | выходной поток, в который записываются данные |
| ist | - | входной поток, из которого извлекаются данные |
| e | - | адаптер генератора для сериализации или восстановления |
Возвращаемое значение
1)
ost
2)
ist
Сложность
Исключения
1) Может выбрасывать исключения, определяемые реализацией.
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 3519 | C++11 | форма операторов вставки и извлечения не была указана | уточнено, что это скрытые дружественные функции |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/random/shuffle_order_engine/operator_ltltgtgt