Namespaces
Variants

std:: holds_alternative

From cppreference.net
Utilities library
헤더에 정의됨 <variant>
template < class T, class ... Types >
constexpr bool holds_alternative ( const std:: variant < Types... > & v ) noexcept ;
(C++17부터)

variant이 v 가 alternative T 를 보유하는지 확인합니다. T Types... 에 정확히 한 번 나타나지 않으면 이 호출은 ill-formed입니다.

목차

매개변수

v - 검사할 variant

반환값

true 만약 현재 variant가 T alternative를 보유하고 있다면, false 그렇지 않다면.

예제

#include <cassert>
#include <string>
#include <variant>
int main()
{
    std::variant<int, std::string> v = "abc";
    assert(not std::holds_alternative<int>(v));
    assert(std::holds_alternative<std::string>(v));
}

참고 항목

variant 이 보유한 대안의 0-기반 인덱스를 반환합니다
(public member function)
인덱스나 타입(타입이 고유한 경우)이 주어지면 variant의 값을 읽으며, 오류 시 예외를 발생시킵니다
(function template)