std::shuffle_order_engine<Engine,K>::seed
Von cppreference.com
< cpp | numeric | random | shuffle order engine
| void seed(); |
(1) | (seit C++11) |
| void seed( result_type value ); |
(2) | (seit C++11) |
| template< class SeedSeq > void seed( SeedSeq& seq ); |
(3) | (seit C++11) |
Initialisiert den internen Zustand der zugrunde liegenden Engine mit einem neuen Seed-Wert neu.
1) Initialisiert die zugrunde liegende Engine mit dem Standard-Seed-Wert. Ruft effektiv e.seed() auf, wobei e die zugrunde liegende Engine ist.
2) Initialisiert die zugrunde liegende Engine mit dem Seed-Wert value. Ruft effektiv e.seed(value) auf, wobei e die zugrunde liegende Engine ist.
3) Initialisiert die zugrunde liegende Engine mit der Seed-Sequenz seq. Ruft effektiv e.seed(seq) auf, wobei e die zugrunde liegende Engine ist.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn
SeedSeq die Anforderungen von SeedSequence erfüllt.[bearbeiten] Parameter
| value | - | Seed-Wert zur Initialisierung des internen Zustands der zugrunde liegenden Engine |
| seq | - | Seed-Sequenz zur Initialisierung des internen Zustands der zugrunde liegenden Engine |
[bearbeiten] Ausnahmen
3) Wenn
SeedSeq nicht std::seed_seq ist, werden die Ausnahmen weitergegeben, die vom Aufruf von seq.generate ausgelöst werden.[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2181 | C++11 | Die Überladung (3) würde keine Ausnahme auslösen, selbst wenn der Aufruf von seq.generate eine Ausnahme auslöst. |
leitet die Ausnahme weiter. |