Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes

bslmf::MetaInt< t_INT_VALUE > Struct Template Reference

#include <bslmf_metaint.h>

Inheritance diagram for bslmf::MetaInt< t_INT_VALUE >:
bsl::integral_constant< int, t_INT_VALUE >

List of all members.

Public Types

enum  { VALUE = t_INT_VALUE }
typedef MetaInt< t_INT_VALUE > Type
typedef bslmf::Tag< t_INT_VALUE > Tag
typedef int value_type
typedef integral_constant type

Public Member Functions

 MetaInt ()
 MetaInt (bsl::integral_constant< int, t_INT_VALUE >)
 MetaInt (const MetaInt &)
MetaIntoperator= (const MetaInt &)
 ~MetaInt ()
BSLS_KEYWORD_CONSTEXPR operator value_type () const BSLS_KEYWORD_NOEXCEPT

Static Public Member Functions

static Tagtag ()

Static Public Attributes

static
BSLS_KEYWORD_CONSTEXPR_MEMBER
int 
value

Detailed Description

template<int t_INT_VALUE>
struct bslmf::MetaInt< t_INT_VALUE >

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.

See Component bslmf_metaint


Member Typedef Documentation

template<int t_INT_VALUE>
typedef MetaInt<t_INT_VALUE> bslmf::MetaInt< t_INT_VALUE >::Type
template<int t_INT_VALUE>
typedef bslmf::Tag<t_INT_VALUE> bslmf::MetaInt< t_INT_VALUE >::Tag
typedef int bsl::integral_constant< int , t_VAL >::value_type [inherited]
typedef integral_constant bsl::integral_constant< int , t_VAL >::type [inherited]

Member Enumeration Documentation

template<int t_INT_VALUE>
anonymous enum
Enumerator:
VALUE 

Constructor & Destructor Documentation

template<int t_INT_VALUE>
bslmf::MetaInt< t_INT_VALUE >::MetaInt (  ) 

Does nothing (MetaInt is stateless).

template<int t_INT_VALUE>
bslmf::MetaInt< t_INT_VALUE >::MetaInt ( bsl::integral_constant< int, t_INT_VALUE >   ) 

IMPLICIT: Convert from a bsl::integral_constant<int, t_INT_VALUE>.

template<int t_INT_VALUE>
bslmf::MetaInt< t_INT_VALUE >::MetaInt ( const MetaInt< t_INT_VALUE > &   ) 
template<int t_INT_VALUE>
bslmf::MetaInt< t_INT_VALUE >::~MetaInt (  ) 

Member Function Documentation

template<int t_INT_VALUE>
MetaInt& bslmf::MetaInt< t_INT_VALUE >::operator= ( const MetaInt< t_INT_VALUE > &   ) 
template<int t_INT_VALUE>
static Tag& bslmf::MetaInt< t_INT_VALUE >::tag (  )  [static]

Declared but not defined. Meta-function use only. The tag can be used to recover meta-information from an expression. Example: sizeof(f(expr).tag()) returns a different compile-time value depending on the type of the result of calling the f function but does not actually call the f function or the tag method at run-time. Note that f(expr)VALUE or sizeof(f(expr)Type) would be ill-formed and that f(expr).value is not a compile-time expression.

BSLS_KEYWORD_CONSTEXPR bsl::integral_constant< int , t_VAL >::operator value_type (  )  const [inherited]

Return t_VAL.


Member Data Documentation

BSLS_KEYWORD_CONSTEXPR_MEMBER int bsl::integral_constant< int , t_VAL >::value [static, inherited]

The documentation for this struct was generated from the following file: