Provide the number of alternatives of a bsl::variant specialization.
Declared in <bslstl_variant.h>
template<
class t_HEAD,
class... t_TAIL>
struct variant_size<variant<t_HEAD, t_TAIL...>>
: bsl::integral_constant<std::size_t, 1 + sizeof...(t_TAIL)>
, bsl::integral_constant<size_t, 1 + sizeof...(t_TAIL)>
This partial specialization of variant_size provides the number of alternatives, 1 + sizeof...(t_TAIL), for a bsl::variant specialized on (template parameters) t_HEAD, t_TAIL....
| Name | Description |
|---|---|
bsl::integral_constant<std::size_t, 1 + sizeof...(t_TAIL)> | Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE. |
bsl::integral_constant<size_t, 1 + sizeof...(t_TAIL)> | 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 | Alias for the (template parameter) t_TYPE. |
| Name | Description |
|---|---|
operator() | Return a copy of the template argument t_VALUE. |
operator t_TYPE | Return a copy of the template argument t_VALUE. |
| Name | Description |
|---|---|
value | The compile-time constant value of this metafunction. |