Metafunction that is true_type if TYPE supports AA model MODEL.
Declared in <bslma_aamodel.h>
template<
class TYPE,
class MODEL>
struct AAModelIsSupported
: bsl::false_type
Predicate metafunction that determines if the specified TYPE supports the specified MODEL AA model. It yields (i.e., is derived from) bsl:true_type if type TYPE supports AA model MODEL; otherwise it yields false_type. MODEL Must be one of AAModelNone, AAModelLegacy, AAModelBsl, AAModelPmr, or AAModelStl. This metafunction can yield true_type for more than one type MODEL type, e.g., it will yield true_type if TYPE is bsl-AA, and MODEL is either AAModelBsl or AAModelLegacy, since TYPE can be constructed with either allocator type.
| Name | Description |
|---|---|
bsl::false_type | Metafunction representing the boolean constant false. |
| Name | Description |
|---|---|
AAModelIsSupported<TYPE, AAModelBsl> | Specialization of AAModelIsSupported for MODEL == AAModelBsl, yielding true_type if TYPE::allocator_type exists and is convertible from bsl::allocator<char>. |
AAModelIsSupported<TYPE, AAModelLegacy> | Specialization of AAModelIsSupported for the legacy-AA model. |
AAModelIsSupported<TYPE, AAModelNone> | Specialization of AAModelIsSupported for MODEL == AAModelNone, always yielding true_type. |
AAModelIsSupported<TYPE, AAModelPmr> | Specialization of AAModelIsSupported for the pmr-AA model. |
AAModelIsSupported<TYPE, AAModelStl> | Specialization of AAModelIsSupported for the stl-AA model. |