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