Meta-function for detecting function types.
Declared in <bslmf_isfunction.h>
template<class t_TYPE>
struct is_function
: bsl::integral_constant<bool, !is_const<const t_TYPE>::value>
This struct template implements the is_function meta-function defined in the C++11 standard [meta.unary.cat]to determine if the (template parameter) t_TYPE is a function type. This struct derives from bsl::true_type if the t_TYPE is a function type, and from bsl::false_type otherwise. This implementation relies on the fact that neither function types nor reference types can be cv-qualified so that is_const<const t_TYPE> will actually yield false.
| Name | Description |
|---|---|
bsl::integral_constant<bool, !is_const<const t_TYPE>::value> | Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE. |
| Name | Description |
|---|---|
type | Alias for this integral_constant specialization. |
value_type | Alias for the (template parameter) t_TYPE. |
| Name | Description |
|---|---|
operator() | Return a copy of the template argument t_VALUE. |
operator t_TYPE | Return a copy of the template argument t_VALUE. |
| Name | Description |
|---|---|
value | The compile-time constant value of this metafunction. |
| Name | Description |
|---|---|
is_function<t_TYPE&> | Partial specialization of is_function for lvalue references. |
is_function<t_TYPE&&> | Partial specialization of is_function for rvalue references. |