[#BloombergLP-bslmf-NthParameter-06]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::NthParameter
:relfileprefix: ../../
:mrdocs:

Metafunction to compute the specified `t&lowbar;N`th element of the specified `t&lowbar;PARAMS` template parameter pack&period; The `Type` nested typedef will match the `t&lowbar;N`th element of `t&lowbar;PARAMS`, where `t&lowbar;N` is zero&hyphen;based (so that an `t&lowbar;N` of zero corresponds to the first parameter&period;

== Synopsis

Declared in `&lt;bslmf&lowbar;nthparameter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::size&lowbar;t t&lowbar;N,
    class t&lowbar;FIRST&lowbar;PARAM = xref:BloombergLP/bslmf/NthParameter_Sentinel.adoc[NthParameter&lowbar;Sentinel],
    class&period;&period;&period; t&lowbar;PARAMS&gt;
struct NthParameter;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/NthParameter-06/Type.adoc[`Type`] 
| The type of the Nth parameter, computed by recursively stripping off the first parameter until t&lowbar;N &equals;&equals; 0&period;
|===


== Specializations

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/NthParameter-056.adoc[`NthParameter&lt;0, NthParameter&lowbar;Sentinel&gt;`] 
| Specialization of `NthParameter` for when `t&lowbar;N` exceeds the actual number of parameters&period;
| xref:BloombergLP/bslmf/NthParameter-050.adoc[`NthParameter&lt;0, t&lowbar;FIRST&lowbar;PARAM, t&lowbar;PARAMS&period;&period;&period;&gt;`] 
| Specialization of `NthParameter` for when `t&lowbar;N` is zero&period;
|===



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