bsl::enable_if

This struct template implements the enable_if meta-function defined in the C++11 standard [meta.trans.ptr]. This struct template provides a typedef type that is an alias to the (template parameter) t_TYPE if the (template parameter) t_COND is true; otherwise, type is not provided. If t_TYPE is not specified, it is set to void. Note that this generic default template provides type for when t_COND is true; a template specialization is provided (below) that omits type for when t_COND is false.

Synopsis

Declared in <bslmf_enableif.h>

template<
    bool t_COND,
    class t_TYPE = void>
struct enable_if;

Type Aliases

NameDescription
type This typedef is an alias to the (template parameter) t_TYPE.

Specializations

NameDescription
enable_if<true> This struct template implements the enable_if meta-function defined in the C++11 standard [meta.trans.ptr]. This struct template provides a typedef type that is an alias to the (template parameter) t_TYPE if the (template parameter) t_COND is true; otherwise, type is not provided. If t_TYPE is not specified, it is set to void. Note that this generic default template provides type for when t_COND is true; a template specialization is provided (below) that omits type for when t_COND is false.
enable_if<false, t_TYPE> This partial specialization of enable_if, for when the (template parameter) t_COND is false, guarantees that no typedef type is supplied. Note that this class definition is intentionally empty.