shuffle_order_engine Class
기본 엔진에서 반환 된 값을 재배열 하 여 난수 시퀀스를 생성 합니다.
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;
};
매개 변수
Engine
저장된 엔진 형식입니다.K
K 엔진 매개 변수입니다.
설명
이 템플릿 클래스에 설명 된 복합 엔진 는 생성 값 기본 엔진에 의해 반환 되는 값을 다시 정렬 합니다.각 생성자에서 배열을 채웁니다 stored_arr 와 K 기본 엔진에 의해 반환 되는 값입니다.다음에 저장 stored_y 기본 엔진에서 반환 하는 추가 값.생성 된 시퀀스의 각 요소에서 다음 가져온 stored_y, 뒤:
배열 인덱스 J 로 계산 K * (stored_y - min()) / (max() - min() + 1).
stored_y대체 stored_arr[J].
stored_arr[j]대체 stored_eng().
엔진의 상태를 상태입니다 stored_eng가 오고 그 뒤에 K 요소의 stored_arr, 뒤 stored_y.
템플릿 인수의 값이 K 0 보다 커야 합니다.
요구 사항
헤더: <random>
네임 스페이스: std
참고 항목
참조
shuffle_order_engine::base_type