[#BloombergLP-bslstl-Variant_OverloadHelper-0d]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/Variant_OverloadHelper-05.adoc[Variant&lowbar;OverloadHelper]&lt;t&lowbar;SRC, xref:bsl/variant.adoc[bsl::variant&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;], xref:bsl/void_t.adoc[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;
:relfileprefix: ../../
:mrdocs:

Provide `Index` when a unique best&hyphen;match alternative is found&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;HEAD,
    class&period;&period;&period; t&lowbar;TAIL&gt;
struct xref:BloombergLP/bslstl/Variant_OverloadHelper-05.adoc[Variant&lowbar;OverloadHelper]&lt;t&lowbar;SRC, xref:bsl/variant.adoc[bsl::variant&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;], xref:bsl/void_t.adoc[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;;
----

== Description

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;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/Variant_OverloadHelper-0d/Index.adoc[`Index`] 
| Index constant equal to the index of the alternative selected by overload resolution among the `candidate` functions&period;
|===



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