[#BloombergLP-bslstl-Variant_OverloadHelper-05]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Variant&lowbar;OverloadHelper
:relfileprefix: ../../
:mrdocs:

This component&hyphen;private metafunction provides a member typedef `Index` representing the value that should be computed by `Variant&lowbar;ConvertIndex`&period; 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 &quot;unique&quot; (see the documentation of `Variant&lowbar;ConvertIndex` for an explanation)&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;variant&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class t&lowbar;SRC,
    class t&lowbar;VARIANT,
    class = void&gt;
struct Variant&lowbar;OverloadHelper;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/Variant_OverloadHelper-05/Index.adoc[`Index`] 
| Index constant equal to `variant&lowbar;npos` when no unique conversion exists&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/Variant_OverloadHelper-0d.adoc[`Variant&lowbar;OverloadHelper&lt;t&lowbar;SRC, bsl::variant&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;, bsl::void&lowbar;t&lt;decltype(Variant&lowbar;OverloadSetImp&lt;t&lowbar;SRC, 0, t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;&colon;&colon;
                             candidate(std&colon;&colon;declval&lt;t&lowbar;SRC&gt;()))&gt;&gt;`] 
| This partial specialization is used when a &quot;unique&quot; best match is found for converting `std&colon;&colon;declval&lt;t&lowbar;SRC&gt;()` to one of (template parameters) `t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;`&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
