bsl::is_polymorphic

Meta-function for detecting polymorphic types.

Synopsis

Declared in <bslmf_ispolymorphic.h>

template<class t_TYPE>
struct is_polymorphic
    : integral_constant<bool, BloombergLP::bslmf::IsPolymorphic_Imp<typename remove_cv<t_TYPE>::type>::Value>

Description

This struct template implements the is_polymorphic meta-function defined in the C++11 standard [meta.unary.prop]to determine if the (template parameter) t_TYPE is a (possibly cv-qualified) polymorphic type. This struct derives from bsl::true_type if the t_TYPE is a polymorphic type, and bsl::false_type otherwise.

Base Classes

NameDescription
integral_constant<bool, BloombergLP::bslmf::IsPolymorphic_Imp<typename remove_cv<t_TYPE>::type>::Value>Metafunction representing a compile-time constant of the specified (template parameter) t_TYPE with the specified (template parameter) t_VALUE.

Type Aliases

NameDescription
type Alias for this integral_constant specialization.
value_type Alias for the (template parameter) t_TYPE.

Member Functions

NameDescription
operator() Return a copy of the template argument t_VALUE.
operator t_TYPE Return a copy of the template argument t_VALUE.

Static Data Members

NameDescription
value The compile-time constant value of this metafunction.