BloombergLP::bdlat_EnumFunctions::HasFallbackEnumerator

Meta-function that detects whether TYPE has a fallback enumerator.

Synopsis

Declared in <bdlat_enumfunctions.h>

template<class TYPE>
struct HasFallbackEnumerator
    : bsl::integral_constant<bool, bslalg::HasTrait<TYPE, bdlat_TypeTraitHasFallbackEnumerator>::value>

Description

This struct should be specialized for third-party types that need to declare the fact that they have a fallback enumerator value. Clients that specialize this struct must ensure that if HasFallbackEnumerator<TYPE>::value is true, then IsEnumeration<TYPE>::value is also true; otherwise, the behavior is undefined.

Base Classes

NameDescription
bsl::integral_constant<bool, bslalg::HasTrait<TYPE, bdlat_TypeTraitHasFallbackEnumerator>::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.

Specializations

NameDescription
HasFallbackEnumerator<bdlar::EnumConstRef> Trait indicating that bdlar::EnumConstRef supports a fallback enumerator.
HasFallbackEnumerator<bdlar::EnumRef> Trait indicating that bdlar::EnumRef supports a fallback enumerator.