#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
- 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] |
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: