Quick Links:

bal | bbl | bdl | bsl

Public Types | Static Public Member Functions

bslmf::InvokeResult_Index Struct Reference

#include <bslmf_invokeresult.h>

List of all members.

Public Types

enum  {
  e_VOID, e_BOOL, e_CHAR, e_SCHAR,
  e_UCHAR, e_CHAR8_T, e_WCHAR_T, e_CHAR16_T,
  e_CHAR32_T, e_SHORT, e_USHORT, e_INT,
  e_UNSIGNED, e_LONG, e_ULONG, e_LONG_LONG,
  e_ULONG_LONG, e_FLOAT, e_DOUBLE, e_LONG_DOUBLE,
  e_VOIDPTR, e_CONST_VOIDPTR, e_VOLATILE_VOIDPTR, e_CONST_VOLATILE_VOIDPTR,
  e_NULLPTR_T, e_POINTER, e_OTHER
}
 

Enumeration of possible return types.

More...

Static Public Member Functions

static bslmf::Tag< e_BOOL > fromVal (bool &)
static bslmf::Tag< e_CHAR > fromVal (char &)
static bslmf::Tag< e_SCHAR > fromVal (signed char &)
static bslmf::Tag< e_UCHAR > fromVal (unsigned char &)
static bslmf::Tag< e_WCHAR_T > fromVal (wchar_t &)
static bslmf::Tag< e_SHORT > fromVal (short &)
static bslmf::Tag< e_USHORT > fromVal (unsigned short &)
static bslmf::Tag< e_INT > fromVal (int &)
static bslmf::Tag< e_UNSIGNED > fromVal (unsigned &)
static bslmf::Tag< e_LONG > fromVal (long &)
static bslmf::Tag< e_ULONG > fromVal (unsigned long &)
static bslmf::Tag< e_LONG_LONG > fromVal (long long &)
static bslmf::Tag< e_ULONG_LONG > fromVal (unsigned long long &)
static bslmf::Tag< e_FLOAT > fromVal (float &)
static bslmf::Tag< e_DOUBLE > fromVal (double &)
static bslmf::Tag< e_LONG_DOUBLE > fromVal (long double &)
static bslmf::Tag< e_VOIDPTR > fromVal (void *&)
static bslmf::Tag
< e_CONST_VOIDPTR > 
fromVal (const void *&)
static bslmf::Tag
< e_VOLATILE_VOIDPTR > 
fromVal (volatile void *&)
static bslmf::Tag
< e_CONST_VOLATILE_VOIDPTR > 
fromVal (const volatile void *&)
static bslmf::Tag< e_NULLPTR_T > fromVal (bsl::nullptr_t &)
template<class t_TP >
static bslmf::Tag< e_POINTER > fromVal (t_TP *&)
template<class t_TP >
static bslmf::Tag< e_OTHER > fromVal (t_TP &)

Detailed Description

Metafunction helpers for deducing the return type of an expression.

See Component bslmf_invokeresult


Member Enumeration Documentation

anonymous enum
Enumerator:
e_VOID 
e_BOOL 
e_CHAR 
e_SCHAR 
e_UCHAR 
e_CHAR8_T 
e_WCHAR_T 
e_CHAR16_T 
e_CHAR32_T 
e_SHORT 
e_USHORT 
e_INT 
e_UNSIGNED 
e_LONG 
e_ULONG 
e_LONG_LONG 
e_ULONG_LONG 
e_FLOAT 
e_DOUBLE 
e_LONG_DOUBLE 

Pointer to void is special among pointers because it cannot be dereferenced.

e_VOIDPTR 
e_CONST_VOIDPTR 
e_VOLATILE_VOIDPTR 
e_CONST_VOLATILE_VOIDPTR 
e_NULLPTR_T 
e_POINTER 

Any pointer type other than void * or nullptr_t

e_OTHER 

Anything other than above.


Member Function Documentation

static bslmf::Tag<e_BOOL> bslmf::InvokeResult_Index::fromVal ( bool &   )  [static]
static bslmf::Tag<e_CHAR> bslmf::InvokeResult_Index::fromVal ( char &   )  [static]
static bslmf::Tag<e_SCHAR> bslmf::InvokeResult_Index::fromVal ( signed char &   )  [static]
static bslmf::Tag<e_UCHAR> bslmf::InvokeResult_Index::fromVal ( unsigned char &   )  [static]
static bslmf::Tag<e_WCHAR_T> bslmf::InvokeResult_Index::fromVal ( wchar_t &   )  [static]
static bslmf::Tag<e_SHORT> bslmf::InvokeResult_Index::fromVal ( short &   )  [static]
static bslmf::Tag<e_USHORT> bslmf::InvokeResult_Index::fromVal ( unsigned short &   )  [static]
static bslmf::Tag<e_INT> bslmf::InvokeResult_Index::fromVal ( int &   )  [static]
static bslmf::Tag<e_UNSIGNED> bslmf::InvokeResult_Index::fromVal ( unsigned &   )  [static]
static bslmf::Tag<e_LONG> bslmf::InvokeResult_Index::fromVal ( long &   )  [static]
static bslmf::Tag<e_ULONG> bslmf::InvokeResult_Index::fromVal ( unsigned long &   )  [static]
static bslmf::Tag<e_LONG_LONG> bslmf::InvokeResult_Index::fromVal ( long long &   )  [static]
static bslmf::Tag<e_ULONG_LONG> bslmf::InvokeResult_Index::fromVal ( unsigned long long &   )  [static]
static bslmf::Tag<e_FLOAT> bslmf::InvokeResult_Index::fromVal ( float &   )  [static]
static bslmf::Tag<e_DOUBLE> bslmf::InvokeResult_Index::fromVal ( double &   )  [static]
static bslmf::Tag<e_LONG_DOUBLE> bslmf::InvokeResult_Index::fromVal ( long double &   )  [static]
static bslmf::Tag<e_VOIDPTR> bslmf::InvokeResult_Index::fromVal ( void *&   )  [static]
static bslmf::Tag<e_CONST_VOIDPTR> bslmf::InvokeResult_Index::fromVal ( const void *&   )  [static]
static bslmf::Tag<e_VOLATILE_VOIDPTR> bslmf::InvokeResult_Index::fromVal ( volatile void *&   )  [static]
static bslmf::Tag<e_CONST_VOLATILE_VOIDPTR> bslmf::InvokeResult_Index::fromVal ( const volatile void *&   )  [static]
static bslmf::Tag<e_NULLPTR_T> bslmf::InvokeResult_Index::fromVal ( bsl::nullptr_t  )  [static]
template<class t_TP >
static bslmf::Tag<e_POINTER> bslmf::InvokeResult_Index::fromVal ( t_TP *&   )  [static]
template<class t_TP >
static bslmf::Tag<e_OTHER> bslmf::InvokeResult_Index::fromVal ( t_TP &   )  [static]

Return a tag type representing the argument type. These functions are declared but not defined and are intended to be used in an unevaluated context (e.g., within sizeof) to convert an expression into a compile-time enumeration constant.


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