BloombergLP::bslstl::Variant_isAlternativeAssignableFrom

This component-private metafunction is derived from bsl::true_type if there is a unique best match alternative in (template parameter) t_VARIANT for std::declval<t_TYPE>() and that alternative is both constructible and assignable from std::declval<t_TYPE>(), and bsl::false_type otherwise.

Synopsis

Declared in <bslstl_variant.h>

template<
    class t_VARIANT,
    class t_TYPE,
    size_t t_INDEX = BloombergLP::bslstl::Variant_ConvertIndex<t_TYPE, t_VARIANT>::value>
struct Variant_isAlternativeAssignableFrom
    : bsl::integral_constant<bool, Variant_IsAssignable<typename bsl::variant_alternative<t_INDEX, t_VARIANT>::type &, t_TYPE>::value && Variant_HasUniqueCVType<typename bsl::variant_alternative<BloombergLP::bslstl::Variant_ConvertIndex<t_TYPE, t_VARIANT>::value, t_VARIANT>::type, t_VARIANT>::value>

Type Aliases

NameDescription
type Alias for this integral_constant specialization.
value_type

Member Functions

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

Static Data Members

Name
value

Specializations

Name
Variant_isAlternativeAssignableFrom<t_VARIANT, t_TYPE, bsl::variant_npos>