Namespaces
Variants

deduction guides for std::ranges::iota_view

From cppreference.net
Ranges library
Range adaptors
헤더 파일에 정의됨 <ranges>
template < class W, class Bound >

requires ( ! /*is-integer-like*/ < W > ||
! /*is-integer-like*/ < Bound > ||
/*is-signed-integer-like*/ < W > == /*is-signed-integer-like*/ < Bound > )

iota_view ( W, Bound ) - > iota_view < W, Bound > ;
(C++20부터)

deduction guide 는 초기값과 경계값으로부터의 추론을 허용하기 위해 iota_view 에 제공됩니다.

/*is-integer-like*/ /*is-signed-integer-like*/ 의 정의는 is-integer-like 를 참조하십시오.

이 가이드는 부호 불일치로 인해 발생하는 버그로부터 스스로를 보호합니다. 예를 들어 views:: iota ( 0 , v. size ( ) ) 와 같은 경우에서 0 는 부호 있는 정수이고 v. size ( ) 는 부호 없는 정수인 상황을 방지합니다.

예제

#include <cassert>
#include <ranges>
int main()
{
    auto io = std::ranges::iota_view(1L, 7L); // W와 Bound를 "long"으로 추론
    assert(io.front() == 1L and io.back() == 6L);
}