BloombergLP::bslstl::Variant_CheckForP1957R2<t_TYPE, bsl::void_t<decltype(Variant_ArrayHelper<t_TYPE>{{"bc"}})>>

Detect a compiler that implements P1957R2 (and rejects narrowing).

Synopsis

Declared in <bslstl_variant.h>

template<class t_TYPE>
struct Variant_CheckForP1957R2<t_TYPE, bsl::void_t<decltype(Variant_ArrayHelper<t_TYPE>{{"bc"}})>>
    : bsl::false_type

Description

This partial specialization derives from bsl::false_type, and is selected only when Variant_ArrayHelper<t_TYPE>{{"bc"}} is a valid expression, indicating that the compiler has implemented P1957R2 (and therefore rejects narrowing pointer-to-bool conversions in aggregate initialization).

Base Classes

NameDescription
bsl::false_typeMetafunction representing the boolean constant false.