operator<<,>>(std::uniform_real_distribution)
template< class CharT, class Traits >
friend std::basic_ostream<CharT,Traits>&
operator<<( std::basic_ostream<CharT,Traits>& ost,
const uniform_real_distribution& d );
| (1) | (начиная с C++11) |
template< class CharT, class Traits >
friend std::basic_istream<CharT,Traits>&
operator>>( std::basic_istream<CharT,Traits>& ist,
uniform_real_distribution& d );
| (2) | (начиная с C++11) |
Выполняет операции ввода и вывода потока для распределения псевдослучайных чисел d.
1) Записывает текстовое представление параметров распределения и его внутреннего состояния в
ost в виде текстового представления. Флаги форматирования и символ заполнения ost не изменяются.
2) Восстанавливает параметры распределения и внутреннее состояние по данным, считанным из
ist. Флаги форматирования ist не изменяются. Данные должны быть записаны с использованием потока с той же локалью и теми же параметрами шаблона CharT и Traits, иначе поведение не определено. При обнаружении некорректных входных данных вызывается ist.setstate(std::ios::failbit), которая может выбросить исключение std::ios_base::failure. В этом случае d не изменяется.Эти шаблоны функций не видны при обычном неквалифицированном поиске или квалифицированном поиске и могут быть найдены только с помощью поиска, зависящего от аргументов, если std::uniform_real_distribution<ResultType> является ассоциированным классом аргументов.
Параметры
| ost | - | поток вывода, в который вставляются данные |
| ist | - | поток ввода, из которого извлекаются данные |
| d | - | распределение псевдослучайных чисел |
Возвращаемое значение
1)
ost
2)
ist
Исключения
1) Может выбрасывать исключения, определяемые реализацией.
2) При некорректных входных данных может выбросить исключение
std::ios_base::failure.Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроспективно к ранее опубликованным стандартам 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/uniform_real_distribution/operator_ltltgtgt