random_discard_block_engine
random_discard_block_engine (폐기 블록 엔진)
std::discard_block_engine은 기본 엔진이 생성한 일정량의 데이터를 버리는 의사난수 엔진 어댑터예요. 기본 엔진이 생성한 크기 P 블록마다 R개의 수만 남기고 나머지를 버려요. C++11부터 사용할 수 있어요.
출처: cppreference
본문
<random> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template<
class Engine,
std::size_t P, std::size_t R
> class discard_block_engine;
(since C++11)
discard_block_engine은 기본 엔진이 생성한 일정량의 데이터를 버리는 의사난수 엔진 어댑터예요. 기본 엔진이 생성한 각 크기 P 블록에서 R개의 수만 남기고 나머지를 버려요.
템플릿 매개변수 (Template parameters)
- Engine — 래핑된 엔진의 타입.
- P — 블록의 크기. P > 0이어야 해요.
- R — 블록당 사용되는 수의 개수. 0 < R ≤ P여야 해요.
타입 요구사항 (Type requirements)
- Engine은 RandomNumberEngine 요구사항을 만족해야 해요.
멤버 타입 (Member types)
| 멤버 타입 | 정의 |
|---|---|
| result_type | Engine::result_type |
멤버 함수 (Member functions)
- (constructor) — 엔진 어댑터 생성
- seed — 기본 엔진의 상태 설정
- base — 기본 엔진 반환
- 생성: operator() — 기본 엔진의 상태 진행 및 생성 값 반환; discard — 어댑터 상태를 지정량만큼 진행
- 특성: min [static] — 가장 작은 생성 값; max [static] — 가장 큰 생성 값
비멤버 함수 (Non-member functions)
- operator== operator!= — 두 엔진 어댑터 비교
- operator<< operator>> — 스트림 입출력