2016-11-10 5 views
0

もっとコンパクトな方法はありますか?条件が同じで、異なる線用type_Axtype_Bxtype_Cxが異なる同じ条件で一連のstd :: conditionalを書く

typedef typename std::conditional< condition, type_A1, type_B1 > type_C1; 
typedef typename std::conditional< condition, type_A2, type_B2 > type_C2; 
typedef typename std::conditional< condition, type_A3, type_B3 > type_C3; 
... 

+3

マクロの候補に似ています – NathanOliver

+0

クラスのスコープ内でのみ動作するマクロを定義できますか? –

+1

いいえ、マクロはスコープに従いません。 – Borgleader

答えて

4
template<class A, class B> using select = std::conditional_t<condition, A, B>; 

using C1 = select<A1, B1>; // or typedef if you really like that syntax 
// etc. 
関連する問題