BloombergLP::bdlat_ChoiceFunctions::IsChoice

This struct should be specialized for third-party types that need to expose "choice" behavior. See the component-level documentation for further information.

Synopsis

Declared in <bdlat_choicefunctions.h>

template<class TYPE>
struct IsChoice
    : bsl::integral_constant<bool, bslalg::HasTrait<TYPE, bdlat_TypeTraitBasicChoice>::value>

Base Classes

NameDescription
bsl::integral_constant<bool, bslalg::HasTrait<TYPE, bdlat_TypeTraitBasicChoice>::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
IsChoice<bdlar::ChoiceConstRef> Trait indicating that bdlar::ChoiceConstRef is a bdlat choice type.
IsChoice<bdlar::ChoiceRef> Trait indicating that bdlar::ChoiceRef is a bdlat choice type.