8#ifndef INCLUDED_BSLMF_ISENUM
9#define INCLUDED_BSLMF_ISENUM
113#include <bslscm_version.h>
127#if defined(BSLS_COMPILERFEATURES_SUPPORT_TRAITS_HEADER)
128# include <type_traits>
131#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
135#if defined(BSLS_COMPILERFEATURES_SUPPORT_TRAITS_HEADER)
136# define BSLS_ISENUM_USE_NATIVE_TRAIT 1
150template <
class t_TYPE>
172template <
class t_TYPE>
183#if defined(BSLS_ISENUM_USE_NATIVE_TRAIT)
193template <
class t_TYPE>
197#ifdef BSLS_COMPILERFEATURES_SUPPORT_VARIABLE_TEMPLATES
200template <
class t_TYPE>
248template <
class COMPLETE_TYPE>
251 bsl::is_convertible<COMPLETE_TYPE, IsEnum_AnyArithmeticType>::value
252 && !IsConvertibleToAny<COMPLETE_TYPE>::value>::type {
267template <
class t_TYPE>
269:
conditional<!is_fundamental<t_TYPE>::value && !is_reference<t_TYPE>::value &&
270 !is_class<t_TYPE>::value,
271 BloombergLP::bslmf::IsEnum_TestConversions<t_TYPE>,
279template <
class t_TYPE>
294template <
class t_TYPE>
296:
is_enum<typename bsl::remove_cv<t_TYPE>::type>::type {
299template <
class t_TYPE>
301:
is_enum<typename bsl::remove_cv<t_TYPE>::type>::type {
304template <
class t_TYPE>
306:
is_enum<typename bsl::remove_cv<t_TYPE>::type>::type {
313#ifndef BDE_OPENSOURCE_PUBLICATION
322#define bslmf_IsEnum bslmf::IsEnum
static const t_TYPE value
Definition bslmf_integralconstant.h:267
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_INLINE_VARIABLE
Definition bsls_keyword.h:665
Definition bdlat_valuetypefunctions.h:939
Definition bdlbb_blob.h:579
Definition bslmf_conditional.h:123
Definition bslmf_integralconstant.h:261
Definition bslmf_isenum.h:272
Definition bslmf_isenum.h:224
IsEnum_AnyArithmeticType(unsigned long)
IsEnum_AnyArithmeticType(long double)
IsEnum_AnyArithmeticType(unsigned int)
IsEnum_AnyArithmeticType(int)
IsEnum_AnyArithmeticType(unsigned long long)
IsEnum_AnyArithmeticType(long long)
IsEnum_AnyArithmeticType(long)
IsEnum_AnyArithmeticType(double)
IsEnum_AnyArithmeticType(wchar_t)
Definition bslmf_isenum.h:252
Definition bslmf_isenum.h:173