[#BloombergLP-bdlmt-Signaler_ArgumentType]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::Signaler&lowbar;ArgumentType
:relfileprefix: ../../
:mrdocs:

Provide convenient forwarding types for each argument of `t&lowbar;PROT`&period;

== Synopsis

Declared in `&lt;bdlmt&lowbar;signaler&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class t&lowbar;PROT&gt;
struct Signaler&lowbar;ArgumentType;
----

== Description

For a function prototype `t&lowbar;PROT` of up to 9 arguments, provide types `ForwardingTypeN` which is the most convenient way to forward the `Nth` argument&period; &ast; as the type of argument N itself (in the case of some fundamental types) &ast; as a const reference (if `TypeN` is large and either by value or by const reference), or &ast; as a reference to a modifiable object, if that&apos;s how the argument was passed in the first place&period; Note that nothing is passed as an rvalue reference, since if there are multiple slots (usually the case), the argument will be moved from by the first one and then unsuitable to be used by the ones following&period;

Also provide `ForwardingNotArg` the type that forwards `Signaler&lowbar;NotArg`&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingNotArg.adoc[`ForwardingNotArg`] 
| Type for forwarding `Signaler&lowbar;NotArg`&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType1.adoc[`ForwardingType1`] 
| Type for forwarding the 1st argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType2.adoc[`ForwardingType2`] 
| Type for forwarding the 2nd argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType3.adoc[`ForwardingType3`] 
| Type for forwarding the 3rd argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType4.adoc[`ForwardingType4`] 
| Type for forwarding the 4th argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType5.adoc[`ForwardingType5`] 
| Type for forwarding the 5th argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType6.adoc[`ForwardingType6`] 
| Type for forwarding the 6th argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType7.adoc[`ForwardingType7`] 
| Type for forwarding the 7th argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType8.adoc[`ForwardingType8`] 
| Type for forwarding the 8th argument&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType/ForwardingType9.adoc[`ForwardingType9`] 
| Type for forwarding the 9th argument&period;
|===



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