Map an unsigned integral constant to a distinct C++ type.

Synopsis

Declared in <bslmf_tag.h>

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

Name

Description

d_lowerSizeArray

Lower 16 bits of the compile‐time size encoded by this tag.

d_upperSizeArray

Upper 16 bits of the compile‐time size encoded by this tag.

Non-Member Functions

Name

Description

operator,

Detect non‐void expressions via an overloaded comma operator.

Derived Classes

Name

Description

InvokeResult_VoidChecker

Empty type used to detect void expressions. The size of this type is the same as bslmf::Tag<1>.

Created with MrDocs