29 Numerics library [numerics]

29.6 Random number generation [rand]

29.6.4 Random number engine adaptor class templates [rand.adapt]

29.6.4.1 In general [rand.adapt.general]

Каждый тип, созданный из шаблона класса, указанного в этом разделе, [rand.adapt] удовлетворяет требованиям random number engine adaptor типа.

Если не указано иное, сложность каждой функции, указанной в этом разделе, [rand.adapt] является постоянной.

Если не указано иное, ни одна функция, описанная в этом разделе, не [rand.adapt] вызывает исключение.

Каждая функция, описанная в этом разделе, [rand.adapt] которая имеет параметр функции q типа Sseq& для параметра типа шаблона с именем Sseq , отличным от типа, seed_­seq вызывает то, что и когда q.generate вызывает вызов throw.

Описание предоставляется в этом разделе [rand.adapt] только для операций адаптера, которые не описаны в разделе, [rand.req.adapt] или для операций, для которых существует дополнительная семантическая информация. В частности, объявления для конструкторов копирования, для операторов присваивания копий, для операторов потоковой передачи и для операторов равенства и неравенства не показаны в резюме.

Каждый шаблон, указанный в этом разделе, [rand.adapt] требует удержания одного или нескольких отношений, включающих значение (значения) не относящихся к типу параметров шаблона. Программа, реализующая любой из этих шаблонов, плохо сформирована, если какая-либо такая требуемая взаимосвязь не выполняется.