This component-private metafunction is derived from bsl::true_type if (template parameter) t_TYPE is neither a tag type nor the type (template parameter) t_VARIANT (modulo cv-qualification), there is a unique best match alternative in t_VARIANT for std::declval<t_TYPE>(), and that alternative is constructible and assignable from std::declval<t_TYPE>(); otherwise, this metafunction is derived from bsl::false_type.
Declared in <bslstl_variant.h>
template<
class t_VARIANT,
class t_TYPE>
struct Variant_AssignsFromType
: bsl::integral_constant<bool, !bsl::is_same<typename bsl::remove_cvref<t_TYPE>::type, t_VARIANT>::value && Variant_IsAlternativeConstructibleFrom<t_VARIANT, t_TYPE>::value && Variant_isAlternativeAssignableFrom<t_VARIANT, t_TYPE>::value>
| Name | Description |
|---|---|
bsl::integral_constant<bool, !bsl::is_same<typename bsl::remove_cvref<t_TYPE>::type, t_VARIANT>::value && Variant_IsAlternativeConstructibleFrom<t_VARIANT, t_TYPE>::value && Variant_isAlternativeAssignableFrom<t_VARIANT, t_TYPE>::value> | Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE. |
| Name | Description |
|---|---|
type | Alias for this integral_constant specialization. |
value_type |
| Name | Description |
|---|---|
operator() | Return a copy of the template argument t_VALUE. |
operator value_type |
| Name |
|---|
value |