Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Generuje losowe kolejności wartości zwracane przez silnik bazowy.
template<class Engine,
size_t K>
class shuffle_order_engine {
public:
typedef Engine base_type;
typedef typename base_type::result_type result_type;
static constexpr size_t table_size = K;
shuffle_order_engine();
explicit shuffle_order_engine(const base_type& eng);
explicit shuffle_order_engine(result_type x0);
explicit shuffle_order_engine(seed_seq& seq);
void seed();
void seed(result_type x0);
void seed(seed_seq& seq);
const base_type& base() const;
static constexpr result_type min();
static constexpr result_type max();
result_type operator()();
void discard(unsigned long long count);
private:
Engine stored_eng;
result_type stored_arr[K];
result_type stored_y;
};
Parametry
Engine
Typ silnika przechowywane.K
Parametr silnika K.
Uwagi
Zawiera opis tego szablonu klasy silnika mieszanek daje wartości kolejności wartości zwracane przez silnik bazowy.Każdy Konstruktor wypełnia tablicę stored_arr z K wartości zwracane przez silnik bazowy.Następnie są przechowywane w stored_y dodatkową wartość zwracana przez podstawowy aparat.Każdy element sekwencji wygenerowany zostanie uzyskane z stored_y, po którym:
Indeks tablicy J jest obliczana jako K * (stored_y - min()) / (max() - min() + 1).
stored_yzastępuje stored_arr[J].
stored_arr[j]zastępuje stored_eng().
Silnik Państwo jest Państwem stored_eng, a następnie K elementów stored_arr, a następnie stored_y.
Wartość argumentu szablon K musi być większa niż zero.
Wymagania
Nagłówek: <random>
Obszar nazw: std
Zobacz też
Informacje
shuffle_order_engine::base_type