variant 클래스
지정된 시간에 변형 인스턴스는 대체 형식 중 하나의 값을 보유하거나 값을 보유하지 않습니다.
구문
template <class... Types>
class variant
멤버
생성자
속성 | 설명 |
---|---|
variant | variant 형식의 개체를 생성합니다. |
함수
속성 | 설명 |
---|---|
emplace | 포함된 새 값을 만듭니다. |
인덱스 | 포함된 값의 인덱스 반환 |
swap | |
valueless_by_exception | 변형에 값이 있는지를 반환 false 합니다. |
연산자
속성 | 설명 |
---|---|
operator= | 변형을 다른 변형의 복사본으로 바꿉니다. |
emplace
포함된 새 값을 만듭니다.
template <class T, class... Args>
T& emplace(Args&&...);
template <class T, class U, class... Args>
T& emplace(initializer_list<U>, Args&&...);
template <size_t I, class... Args>
variant_alternative_t<I, variant<Types...>>& emplace(Args&&...);
template <size_t I, class U, class... Args>
variant_alternative_t<I, variant<Types...>>& emplace(initializer_list<U>, Args&&...);
인덱스
포함된 값의 인덱스 반환
constexpr size_t index() const noexcept;
variant
variant
형식의 개체를 생성합니다. 소멸자도 포함됩니다.
constexpr variant() noexcept(see below);
variant(const variant&);
variant(variant&&) noexcept(see below);
template <class T>
constexpr variant(T&&) noexcept(see below);
template <class T, class... Args>
constexpr explicit variant(in_place_type_t<T>, Args&&...);
template <class T, class U, class... Args>
constexpr explicit variant(in_place_type_t<T>, initializer_list<U>, Args&&...);
template <size_t I, class... Args>
constexpr explicit variant(in_place_index_t<I>, Args&&...);
template <size_t I, class U, class... Args>
constexpr explicit variant(in_place_index_t<I>, initializer_list<U>, Args&&...);
template <class Alloc>
variant(allocator_arg_t, const Al&);
template <class Alloc>
variant(allocator_arg_t, const Al&, const variant&);
template <class Alloc>
variant(allocator_arg_t, const Al&, variant&&);
template <class Alloc, class T>
variant(allocator_arg_t, const Al&, T&&);
template <class Alloc, class T, class... Args>
variant(allocator_arg_t, const Al&, in_place_type_t<T>, Args&&...);
template <class Alloc, class T, class U, class... Args>
variant(allocator_arg_t, const Al&, in_place_type_t<T>, initializer_list<U>, Args&&...);
template <class Alloc, size_t I, class... Args>
variant(allocator_arg_t, const Al&, in_place_index_t<I>, Args&&...);
template <class Alloc, size_t I, class U, class... Args>
variant(allocator_arg_t, const Al&, in_place_index_t<I>, initializer_list<U>, Args&&...);
~variant();
매개 변수
Al
이 개체에 사용할 할당자 클래스입니다.
operator=
변형을 다른 변형의 복사본으로 바꿉니다.
variant& operator=(const variant&);
variant& operator=(variant&&) noexcept(see below);
template <class T>
variant& operator=(T&&) noexcept(see below);
swap
void swap(variant&) noexcept(see below);
valueless_by_exception
변형에 값이 있는지를 반환 false
합니다.
constexpr bool valueless_by_exception() const noexcept;