BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bslma::AAModel_Imp< TYPE, MODEL1, MODEL2, MODEL3, MODEL4, MODEL5 > Struct Template Reference

#include <bslma_aamodel.h>

Public Types

typedef bsl::conditional< AAModelIsSupported< TYPE, MODEL1 >::value, MODEL1, AAModel_Imp< TYPE, MODEL2, MODEL3, MODEL4, MODEL5 > >::type::type type
 

Detailed Description

template<class TYPE, class MODEL1, class MODEL2, class MODEL3, class MODEL4, class MODEL5>
struct bslma::AAModel_Imp< TYPE, MODEL1, MODEL2, MODEL3, MODEL4, MODEL5 >

Implementation of bslma::AAModel metafunction. Tries each of the specified MODEL1 to MODEL5 template arguments and sets the member typedef, type, to the first model that is supported by the specified TYPE. All arguments except the first are defaulted in the forward declaration. Note that type will not be defined if TYPE doesn't support at least one of the passed-in models.

Member Typedef Documentation

◆ type

template<class TYPE , class MODEL1 , class MODEL2 , class MODEL3 , class MODEL4 , class MODEL5 >
typedef bsl::conditional<AAModelIsSupported<TYPE,MODEL1>::value,MODEL1,AAModel_Imp<TYPE,MODEL2,MODEL3,MODEL4,MODEL5>>::type::type bslma::AAModel_Imp< TYPE, MODEL1, MODEL2, MODEL3, MODEL4, MODEL5 >::type

One of MODEL1 to MODEL5, indicating the model supported by TYPE. If multiple models are supported, then the first supported one in the template argument list is used.


The documentation for this struct was generated from the following file: