[#BloombergLP-bslmf-Tag-0b] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::Tag :relfileprefix: ../../ :mrdocs: Map an unsigned integral constant to a distinct C++ type. == Synopsis Declared in `<bslmf_tag.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<unsigned int t_N> struct Tag; ---- == Description This template class is never intended to produce a run‐time instance. 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). Note that in case of overflow on Linux 64‐bit machines, we split the size into 2 data members. == Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/Tag-0b/d_lowerSizeArray.adoc[`d_lowerSizeArray`] | Lower 16 bits of the compile‐time size encoded by this tag. | xref:BloombergLP/bslmf/Tag-0b/d_upperSizeArray.adoc[`d_upperSizeArray`] | Upper 16 bits of the compile‐time size encoded by this tag. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/operator_comma.adoc[`operator,`] | Detect non‐void expressions via an overloaded comma operator. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/InvokeResult_VoidChecker.adoc[`InvokeResult_VoidChecker`] | Empty type used to detect void expressions. The size of this type is the same as `bslmf::Tag<1>`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#