BloombergLP::bslstl::Variant_HasUniqueType<t_TYPE, bsl::variant<t_HEAD, t_TAIL...>>

Determine whether t_TYPE occurs exactly once in a bsl::variant.

Synopsis

Declared in <bslstl_variant.h>

template<
    class t_TYPE,
    class t_HEAD,
    class... t_TAIL>
struct Variant_HasUniqueType<t_TYPE, bsl::variant<t_HEAD, t_TAIL...>>
    : bsl::integral_constant<bool, Variant_CountType<t_TYPE, t_HEAD, t_TAIL...>::value == 1>

Description

This partial specialization of Variant_HasUniqueType derives from bsl::true_type if t_TYPE occurs exactly once in the alternatives t_HEAD, t_TAIL... of a bsl::variant specialization.

Base Classes

NameDescription
bsl::integral_constant<bool, Variant_CountType<t_TYPE, t_HEAD, t_TAIL...>::value == 1>Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE.

Type Aliases

NameDescription
type Alias for this integral_constant specialization.
value_type Alias for the (template parameter) t_TYPE.

Member Functions

NameDescription
operator() Return a copy of the template argument t_VALUE.
operator t_TYPE Return a copy of the template argument t_VALUE.

Static Data Members

NameDescription
value The compile-time constant value of this metafunction.