BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslmf_metaint.h File Reference
#include <bsls_ident.h>
#include <bslscm_version.h>
#include <bslmf_integralconstant.h>
#include <bslmf_tag.h>
#include <bsls_compilerfeatures.h>
#include <bsls_deprecatefeature.h>
#include <bsls_platform.h>

Go to the source code of this file.

Macros

#define BSLMF_METAINT_TO_INT(expr)   BSLMF_TAG_TO_INT((expr).tag())
 
#define BSLMF_METAINT_TO_BOOL(expr)   BSLMF_TAG_TO_BOOL((expr).tag())
 
#define bslmf_MetaInt   bslmf::MetaInt
 This alias is defined for backward compatibility.
 

Detailed Description

The content of this file has been pre-processed for Doxygen.

Macro Definition Documentation

◆ bslmf_MetaInt

#define bslmf_MetaInt   bslmf::MetaInt

◆ BSLMF_METAINT_TO_BOOL

#define BSLMF_METAINT_TO_BOOL (   expr)    BSLMF_TAG_TO_BOOL((expr).tag())

Given an integral value, V, and an expression, expr, of type bslmf::MetaInt<V>, this macro returns a compile-time constant with value, true or false, according to the Boolean value of V. The expression, expr, is not evaluated at run-time.

◆ BSLMF_METAINT_TO_INT

#define BSLMF_METAINT_TO_INT (   expr)    BSLMF_TAG_TO_INT((expr).tag())

Instantiating this template produces a distinct type for each non-negative integer value. This template has been deprecated in favor of the standard integral_constant template. This specialization of MetaInt has a VAL of zero and is convertible to and from bsl::false_type. This specialization of MetaInt has a VAL of one and is convertible to and from bsl::true_type. Given an integral value, V, and an expression, expr, of type bslmf::MetaInt<V>, this macro returns a compile-time constant with value, V. The expression, expr, is not evaluated at run-time.