BloombergLP::bslstl::Variant_OverloadHelper

This component-private metafunction provides a member typedef Index representing the value that should be computed by Variant_ConvertIndex. The primary template is instantiated when the partial specialization below is not viable because no viable alternative exists for the conversion or because the best match is not "unique" (see the documentation of Variant_ConvertIndex for an explanation).

Synopsis

Declared in <bslstl_variant.h>

template<
    class t_SRC,
    class t_VARIANT,
    class = void>
struct Variant_OverloadHelper;

Type Aliases

NameDescription
Index Index constant equal to variant_npos when no unique conversion exists.

Specializations

NameDescription
Variant_OverloadHelper<t_SRC, bsl::variant<t_HEAD, t_TAIL...>, bsl::void_t<decltype(Variant_OverloadSetImp<t_SRC, 0, t_HEAD, t_TAIL...>:: candidate(std::declval<t_SRC>()))>> This partial specialization is used when a "unique" best match is found for converting std::declval<t_SRC>() to one of (template parameters) t_HEAD, t_TAIL....