[#BloombergLP-bslmf-Tag-0b]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::Tag
:relfileprefix: ../../
:mrdocs:

This template class is never intended to produce a run&hyphen;time instance&period; The only useful attribute of a tag is its size (which is, of course, computable at compile time, even if an instance is never created)&period; Note that in case of overflow on Linux 64&hyphen;bit machines, we split the size into 2 data members&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;unsigned int t&lowbar;N&gt;
struct Tag;
----

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/Tag-0b/d_lowerSizeArray.adoc[`d&lowbar;lowerSizeArray`] 
| Lower 16 bits of the compile&hyphen;time size encoded by this tag&period;
| xref:BloombergLP/bslmf/Tag-0b/d_upperSizeArray.adoc[`d&lowbar;upperSizeArray`] 
| Upper 16 bits of the compile&hyphen;time size encoded by this tag&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/operator_comma.adoc[`operator,`]
| Return `InvokeResult&lowbar;VoidChecker()` if the left argument is of type cv&hyphen;`void`&semi; otherwise `bslmf&colon;&colon;Tag&lt;false&gt;()`&period; This overload of the comma operator is declared but not defined, and is intended to be used in metafunctions in an unevaluated context to detect void expressions&period; For any non&hyphen;void expression `expr`, `(expr,InvokeResult&lowbar;VoidChecker())`, will match this overload and produce a result of type `bslmf&colon;&colon;Tag&lt;false&gt;`&period; However, `const t&lowbar;TYPE&amp;` will not match `void`, so if `expr` is a void expression, the built&hyphen;in comma operator is matched and the result will have type `InvokeResult&lowbar;VoidChecker` (i&period;e&period;, the second argument)&period;
|===

== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslmf/InvokeResult_VoidChecker.adoc[`InvokeResult&lowbar;VoidChecker`] 
| Empty type used to detect void expressions&period; The size of this type is the same as `bslmf&colon;&colon;Tag&lt;1&gt;`&period;
|===


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