Spec-Zone.ru › C++

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

template< class CharT, class Traits >
friend std::basic_ostream<CharT,Traits>&
    operator<<( std::basic_ostream<CharT,Traits>& ost, 
                const uniform_int_distribution& d );
(1) (начиная с C++11)
template< class CharT, class Traits >
friend std::basic_istream<CharT,Traits>&
    operator>>( std::basic_istream<CharT,Traits>& ist, 
                uniform_int_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_int_distribution<ResultType> является ассоциированным классом аргументов.

Параметры

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

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

1) ost
2) ist

Исключения

1) Может выбрасывать исключения, определяемые реализацией.
2) При некорректных входных данных может выбросить std::ios_base::failure.

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам 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/uniform_int_distribution/operator_ltltgtgt

Spec-Zone.ru

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