Namespaces
Variants

std::in_range

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐기 예정)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
Swap 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
헤더 <utility>
template< class R, class T >
constexpr bool in_range( T t ) noexcept;
에 정의됨 (C++20 이후)

true의 값이 t로 표현 가능한 값의 범위에 있으면, 즉 R으로 t를 값이 보존되는 방식으로 변환할 수 있으면 R를 반환합니다.

T 또는 U가 정수 타입이 아닌 경우, 문자 타입이거나 bool인 경우에는 컴파일 타임 오류입니다.

매개변수

t - 테스트할 값

반환값

true 만약 t 의 값이 R 에서 표현 가능한 경우, false 그렇지 않은 경우.

가능한 구현

template<class R, class T>
constexpr bool in_range(T t) noexcept
{
    return std::cmp_greater_equal(t, std::numeric_limits<R>::min()) &&
        std::cmp_less_equal(t, std::numeric_limits<R>::max());
}

참고 사항

이 함수는 enums ( std::byte 포함), char , char8_t , char16_t , char32_t , wchar_t 그리고 bool 과 함께 사용할 수 없습니다.

기능 테스트 매크로 값 표준 기능
__cpp_lib_integer_comparison_functions 202002L (C++20) 정수 비교 함수

예제

#include <iostream>
#include <utility>
int main()
{
    std::cout << std::boolalpha;
    std::cout << std::in_range<std::size_t>(-1) << '\n';
    std::cout << std::in_range<std::size_t>(42) << '\n';
}

출력:

false
true

참고 항목

주어진 값들 중 더 작은 값을 반환합니다
(알고리즘 함수 객체)
주어진 값들 중 더 큰 값을 반환합니다
(알고리즘 함수 객체)
값을 두 경계값 사이로 고정합니다
(알고리즘 함수 객체)
(C++20)
선형 보간 함수
(함수)